Skip to content

Commit eace9d0

Browse files
committed
build.zig: Better specify Linux dependencies
1 parent 110ee74 commit eace9d0

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

build.zig

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ comptime {
1515
// get the flags a second time when adding raygui
1616
var raylib_flags_arr: std.ArrayListUnmanaged([]const u8) = .{};
1717

18+
/// we're not inside the actual build script recognized by the
1819
// This has been tested with zig version 0.12.0
1920
pub fn addRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile {
2021
const raylib_dep = b.dependencyFromBuildZig(@This(), .{
@@ -186,16 +187,16 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.
186187
.linux => {
187188
if (options.platform != .drm) {
188189
try c_source_files.append("src/rglfw.c");
189-
raylib.linkSystemLibrary("GL");
190-
raylib.linkSystemLibrary("rt");
191-
raylib.linkSystemLibrary("dl");
192-
raylib.linkSystemLibrary("m");
193-
194-
raylib.addLibraryPath(.{ .cwd_relative = "/usr/lib" });
195-
raylib.addIncludePath(.{ .cwd_relative = "/usr/include" });
196190
if (options.linux_display_backend == .X11 or options.linux_display_backend == .Both) {
197191
raylib.defineCMacro("_GLFW_X11", null);
198192
raylib.linkSystemLibrary("X11");
193+
raylib.linkSystemLibrary("Xcursor");
194+
raylib.linkSystemLibrary("Xext");
195+
raylib.linkSystemLibrary("Xfixes");
196+
raylib.linkSystemLibrary("Xi");
197+
raylib.linkSystemLibrary("Xinerama");
198+
raylib.linkSystemLibrary("Xrandr");
199+
raylib.linkSystemLibrary("Xrender");
199200
}
200201

201202
if (options.linux_display_backend == .Wayland or options.linux_display_backend == .Both) {
@@ -208,8 +209,6 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.
208209
};
209210
raylib.defineCMacro("_GLFW_WAYLAND", null);
210211
raylib.linkSystemLibrary("wayland-client");
211-
raylib.linkSystemLibrary("wayland-cursor");
212-
raylib.linkSystemLibrary("wayland-egl");
213212
raylib.linkSystemLibrary("xkbcommon");
214213
waylandGenerate(b, raylib, "wayland.xml", "wayland-client-protocol");
215214
waylandGenerate(b, raylib, "xdg-shell.xml", "xdg-shell-client-protocol");
@@ -228,14 +227,9 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.
228227
raylib.defineCMacro("GRAPHICS_API_OPENGL_ES2", null);
229228
}
230229

231-
raylib.linkSystemLibrary("EGL");
232-
raylib.linkSystemLibrary("drm");
233-
raylib.linkSystemLibrary("gbm");
234-
raylib.linkSystemLibrary("pthread");
235-
raylib.linkSystemLibrary("rt");
236-
raylib.linkSystemLibrary("m");
237-
raylib.linkSystemLibrary("dl");
238-
raylib.addIncludePath(.{ .cwd_relative = "/usr/include/libdrm" });
230+
raylib.linkSystemLibrary("GLESv2");
231+
raylib.linkSystemLibrary2("gbm", .{ .use_pkg_config = .force });
232+
raylib.linkSystemLibrary2("libdrm", .{ .use_pkg_config = .force });
239233

240234
raylib.defineCMacro("PLATFORM_DRM", null);
241235
raylib.defineCMacro("EGL_NO_X11", null);

0 commit comments

Comments
 (0)