@ -254,6 +254,7 @@ pub fn build(b: *std.Build) !void {  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        .rshapes = b.option(bool, "rshapes", "Compile with shapes support") orelse defaults.rshapes,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        .raygui = b.option(bool, "raygui", "Compile with raygui support") orelse defaults.raygui,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        .shared = b.option(bool, "shared", "Compile as shared library") orelse defaults.shared,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        .linux_display_backend = b.option(LinuxDisplayBackend, "linux_display_backend", "Linux display backend to use") orelse defaults.linux_display_backend,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    };  
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    const lib = try addRaylib(b, target, optimize, options);  
			
		 
		
	
	
		
			
				
				
					
						 
					 
				
				
					
						 
					 
				
				
				 
			
			 
			
			@ -306,24 +307,28 @@ fn addCSourceFilesVersioned(  
			
		 
		
	
		
			
			 
			 
			
			 
			
			}  
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			fn waylandGenerate(allocator: std.mem.Allocator, comptime protocol: []const u8, comptime basename: []const u8) !void {  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    _ = try std.process.Child.run(.{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        .allocator = allocator,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        .argv = &[_][]const u8{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            "wayland-scanner",  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            "client-header",  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            waylandDir ++ "/" ++ protocol,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            srcdir ++ "/" ++ basename ++ ".h",  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        },  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    });  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    _ = try std.process.Child.run(.{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        .allocator = allocator,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        .argv = &[_][]const u8{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            "wayland-scanner",  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            "private-code",  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            waylandDir ++ "/" ++ protocol,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            srcdir ++ "/" ++ basename ++ "-code.h",  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        },  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    });  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    const protocolDir = waylandDir ++ "/" ++ protocol;  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    const clientHeader = srcdir ++ "/" ++ basename ++ ".h";  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    const privateCode = srcdir ++ "/" ++ basename ++ "-code.h";  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    if (comptime builtin.zig_version.minor >= 12) {  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        _ = try std.process.Child.run(.{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            .allocator = allocator,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader },  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        });  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        _ = try std.process.Child.run(.{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            .allocator = allocator,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            .argv = &[_][]const u8{ "wayland-scanner", "private-code", protocolDir, privateCode },  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        });  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    } else {  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        _ = try std.process.Child.exec(.{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            .allocator = allocator,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            .argv = &[_][]const u8{ "wayland-scanner", "client-header", protocolDir, clientHeader },  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        });  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        _ = try std.process.Child.exec(.{  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            .allocator = allocator,  
			
		 
		
	
		
			
			 
			 
			
			 
			
			            .argv = &[_][]const u8{ "wayland-scanner", "private-code", protocolDir, privateCode },  
			
		 
		
	
		
			
			 
			 
			
			 
			
			        });  
			
		 
		
	
		
			
			 
			 
			
			 
			
			    }  
			
		 
		
	
		
			
			 
			 
			
			 
			
			}  
			
		 
		
	
		
			
			 
			 
			
			 
			
			
  
			
		 
		
	
		
			
			 
			 
			
			 
			
			fn join2(allocator: std.mem.Allocator, path1: []const u8, path2: []const u8) ![]u8 {