Browse Source

[build.zig] check if wayland-scanner is installed (#4217)

#4150 introduced a default value for linux_display_backend,
which makes X11-only systems fail to build.
lnc3l0t 1 year ago
parent
commit
8b714e9dd9
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/build.zig

+ 7 - 0
src/build.zig

@@ -155,6 +155,13 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.
                 }
                 }
 
 
                 if (options.linux_display_backend == .Wayland or options.linux_display_backend == .Both) {
                 if (options.linux_display_backend == .Wayland or options.linux_display_backend == .Both) {
+                    _ = b.findProgram(&.{"wayland-scanner"}, &.{}) catch {
+                        std.log.err(
+                            \\ Wayland may not be installed on the system.
+                            \\ You can switch to X11 in your `build.zig` by changing `Options.linux_display_backend`
+                        , .{});
+                        @panic("No Wayland");
+                    };
                     raylib.defineCMacro("_GLFW_WAYLAND", null);
                     raylib.defineCMacro("_GLFW_WAYLAND", null);
                     raylib.linkSystemLibrary("wayland-client");
                     raylib.linkSystemLibrary("wayland-client");
                     raylib.linkSystemLibrary("wayland-cursor");
                     raylib.linkSystemLibrary("wayland-cursor");