@@ -19,7 +19,7 @@ pub fn build(b: *std.Build) void {
1919
2020 const android_sdk = android .Sdk .create (b , .{});
2121 const apk = android_sdk .createApk (.{
22- .api_level = .android10 ,
22+ .api_level = .android15 ,
2323 .build_tools_version = "35.0.1" ,
2424 .ndk_version = "29.0.13113456" ,
2525 });
@@ -37,13 +37,18 @@ pub fn build(b: *std.Build) void {
3737 .root_source_file = b .path ("src/main.zig" ),
3838 .target = target ,
3939 .optimize = optimize ,
40+ .link_libc = true ,
4041 });
4142 const lib = b .addLibrary (.{
4243 .linkage = .dynamic ,
4344 .name = exe_name ,
4445 .root_module = lib_mod ,
46+ // note(jae): 2025-09-19
47+ // Force use_llvm = true, to workaround issue in Zig 0.15.1 where an error occurs with
48+ // - step: compile lib raylib Debug x86_64-linux-android failure
49+ // panic: "TODO unhandled compression scheme"
50+ .use_llvm = if (target .result .abi .isAndroid ()) true else null ,
4551 });
46- lib .linkLibC ();
4752 b .installArtifact (lib );
4853
4954 const raylib_dep = if (android_apk ) | apk |
@@ -52,23 +57,30 @@ pub fn build(b: *std.Build) void {
5257 .optimize = optimize ,
5358 .android_api_version = @as ([]const u8 , b .fmt ("{}" , .{@intFromEnum (apk .api_level )})),
5459 .android_ndk = @as ([]const u8 , apk .ndk .path ),
60+ // NOTE(jae): 2025-09-19
61+ // Avoid compilation errors on Linux systems that don't have 'wayland-scanner'
62+ // ie.
63+ // $ zig build -Dandroid=true --verbose
64+ // `wayland-scanner` may not be installed on the system.
65+ // You can switch to X11 in your `build.zig` by changing `Options.linux_display_backend`
66+ .linux_display_backend = .X11 , // Avoid build issues on Linux systems
5567 })
5668 else
5769 b .dependency ("raylib_zig" , .{
5870 .target = target ,
5971 .optimize = optimize ,
60- .shared = true ,
72+ .linkage = std . builtin . LinkMode . dynamic ,
6173 });
6274
6375 const raylib_artifact = raylib_dep .artifact ("raylib" );
64- lib .linkLibrary (raylib_artifact );
76+ lib .root_module . linkLibrary (raylib_artifact );
6577 const raylib_mod = raylib_dep .module ("raylib" );
6678 lib .root_module .addImport ("raylib" , raylib_mod );
6779
6880 if (android_apk ) | apk | {
6981 const android_dep = b .dependency ("android" , .{
70- .optimize = optimize ,
7182 .target = target ,
83+ .optimize = optimize ,
7284 });
7385 lib .root_module .addImport ("android" , android_dep .module ("android" ));
7486 lib .root_module .linkSystemLibrary ("android" , .{});
@@ -78,7 +90,7 @@ pub fn build(b: *std.Build) void {
7890 lib .root_module .addIncludePath (native_app_glue_dir );
7991 apk .addArtifact (lib );
8092 } else {
81- const exe = b .addExecutable (.{ .name = exe_name , .optimize = optimize , . root_module = lib_mod });
93+ const exe = b .addExecutable (.{ .name = exe_name , .root_module = lib_mod });
8294 b .installArtifact (exe );
8395
8496 const run_exe = b .addRunArtifact (exe );
0 commit comments