Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
build: switch to translate-c build step
build.zig | 9 +++++++++
river/InputDevice.zig | 2 +-
river/LibinputAccelConfig.zig | 2 +-
river/LibinputConfig.zig | 2 +-
river/LibinputDevice.zig | 2 +-
river/PointerBinding.zig | 2 +-
river/Server.zig | 1 -
river/c.h | 6 ++++++
river/c.zig | 8 --------
river/main.zig | 1 -
10 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/build.zig b/build.zig
index 17db013..6b06f31 100644
--- a/build.zig
+++ b/build.zig
@@ -149,6 +149,14 @@ pub fn build(b: *Build) !void {
const flags = b.createModule(.{ .root_source_file = b.path("common/flags.zig") });
const slotmap = b.createModule(.{ .root_source_file = b.path("common/slotmap.zig") });
+ const translate_c = b.addTranslateC(.{
+ .root_source_file = b.path("river/c.h"),
+ .target = target,
+ .optimize = optimize,
+ });
+ translate_c.linkSystemLibrary("libevdev", .{});
+ translate_c.linkSystemLibrary("libinput", .{});
+
{
const river = b.addExecutable(.{
.name = "river",
@@ -176,6 +184,7 @@ pub fn build(b: *Build) !void {
river.root_module.addImport("wlroots", wlroots);
river.root_module.addImport("flags", flags);
river.root_module.addImport("slotmap", slotmap);
+ river.root_module.addImport("c", translate_c.createModule());
river.root_module.addCSourceFile(.{
.file = b.path("river/wlroots_log_wrapper.c"),
diff --git a/river/InputDevice.zig b/river/InputDevice.zig
index 3b04875..060e595 100644
--- a/river/InputDevice.zig
+++ b/river/InputDevice.zig
@@ -10,7 +10,7 @@ const wlr = @import("wlroots");
const wl = @import("wayland").server.wl;
const river = @import("wayland").server.river;
-const c = @import("c.zig").c;
+const c = @import("c");
const server = &@import("main.zig").server;
const util = @import("util.zig");
diff --git a/river/LibinputAccelConfig.zig b/river/LibinputAccelConfig.zig
index ec1a182..2553572 100644
--- a/river/LibinputAccelConfig.zig
+++ b/river/LibinputAccelConfig.zig
@@ -9,7 +9,7 @@ const wayland = @import("wayland");
const wl = wayland.server.wl;
const river = wayland.server.river;
-const c = @import("c.zig").c;
+const c = @import("c");
const server = &@import("main.zig").server;
const util = @import("util.zig");
diff --git a/river/LibinputConfig.zig b/river/LibinputConfig.zig
index b194a3f..fb20a22 100644
--- a/river/LibinputConfig.zig
+++ b/river/LibinputConfig.zig
@@ -8,7 +8,7 @@ const assert = std.debug.assert;
const wl = @import("wayland").server.wl;
const river = @import("wayland").server.river;
-const c = @import("c.zig").c;
+const c = @import("c");
const server = &@import("main.zig").server;
const LibinputAccelConfig = @import("LibinputAccelConfig.zig");
diff --git a/river/LibinputDevice.zig b/river/LibinputDevice.zig
index c6d716d..183d7ee 100644
--- a/river/LibinputDevice.zig
+++ b/river/LibinputDevice.zig
@@ -10,7 +10,7 @@ const wlr = @import("wlroots");
const wl = @import("wayland").server.wl;
const river = @import("wayland").server.river;
-const c = @import("c.zig").c;
+const c = @import("c");
const server = &@import("main.zig").server;
const util = @import("util.zig");
diff --git a/river/PointerBinding.zig b/river/PointerBinding.zig
index d1d3d50..5a645ef 100644
--- a/river/PointerBinding.zig
+++ b/river/PointerBinding.zig
@@ -10,7 +10,7 @@ const wayland = @import("wayland");
const wl = wayland.server.wl;
const river = wayland.server.river;
-const c = @import("c.zig").c;
+const c = @import("c");
const server = &@import("main.zig").server;
const util = @import("util.zig");
diff --git a/river/Server.zig b/river/Server.zig
index 31f9a6d..9fb6846 100644
--- a/river/Server.zig
+++ b/river/Server.zig
@@ -13,7 +13,6 @@ const wayland = @import("wayland");
const wl = wayland.server.wl;
const wp = wayland.server.wp;
-const c = @import("c.zig").c;
const util = @import("util.zig");
const IdleInhibitManager = @import("IdleInhibitManager.zig");
diff --git a/river/c.h b/river/c.h
new file mode 100644
index 0000000..a13f2b0
--- /dev/null
+++ b/river/c.h
@@ -0,0 +1,6 @@
+// SPDX-FileCopyrightText: © 2020 The River Developers
+// SPDX-License-Identifier: GPL-3.0-only
+
+#include <linux/input-event-codes.h>
+#include <libevdev/libevdev.h>
+#include <libinput.h>
diff --git a/river/c.zig b/river/c.zig
deleted file mode 100644
index aead518..0000000
--- a/river/c.zig
+++ /dev/null
@@ -1,8 +0,0 @@
-// SPDX-FileCopyrightText: © 2020 The River Developers
-// SPDX-License-Identifier: GPL-3.0-only
-
-pub const c = @cImport({
- @cInclude("linux/input-event-codes.h");
- @cInclude("libevdev/libevdev.h");
- @cInclude("libinput.h");
-});
diff --git a/river/main.zig b/river/main.zig
index 195fa06..9a55121 100644
--- a/river/main.zig
+++ b/river/main.zig
@@ -14,7 +14,6 @@ const builtin = @import("builtin");
const wlr = @import("wlroots");
const flags = @import("flags");
-const c = @import("c.zig").c;
const util = @import("util.zig");
const process = @import("process.zig");