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 17db0137..6b06f316 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 3b04875d..060e5951 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 ec1a1825..25535723 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 b194a3fd..fb20a226 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 c6d716d5..183d7eea 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 d1d3d506..5a645ef1 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 31f9a6de..9fb68469 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 00000000..a13f2b00
--- /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 aead5183..00000000
--- 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 195fa061..9a551213 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");