mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-15 18:53:11 +00:00
Remove -fno-stack-protector as it is not needed and add requestFullscreen on exported methods
This commit is contained in:
parent
8f50436dc9
commit
0cae8890b8
28
build.zig
28
build.zig
@ -108,9 +108,6 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.
|
|||||||
"-D_GNU_SOURCE",
|
"-D_GNU_SOURCE",
|
||||||
"-DGL_SILENCE_DEPRECATION=199309L",
|
"-DGL_SILENCE_DEPRECATION=199309L",
|
||||||
"-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/3674
|
"-fno-sanitize=undefined", // https://github.com/raysan5/raylib/issues/3674
|
||||||
// This is off by default but some linux distributions have it on by default
|
|
||||||
// No Stack Protector is set to prevent the issues when running the examples for emscripten
|
|
||||||
"-fno-stack-protector",
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (options.shared) {
|
if (options.shared) {
|
||||||
@ -365,7 +362,6 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.
|
|||||||
setDesktopPlatform(raylib, options.platform);
|
setDesktopPlatform(raylib, options.platform);
|
||||||
},
|
},
|
||||||
.emscripten => {
|
.emscripten => {
|
||||||
// Include emscripten for cross compilation
|
|
||||||
if (b.lazyDependency("emsdk", .{})) |dep| {
|
if (b.lazyDependency("emsdk", .{})) |dep| {
|
||||||
if (try emSdkSetupStep(b, dep)) |emSdkStep| {
|
if (try emSdkSetupStep(b, dep)) |emSdkStep| {
|
||||||
raylib.step.dependOn(&emSdkStep.step);
|
raylib.step.dependOn(&emSdkStep.step);
|
||||||
@ -561,19 +557,17 @@ fn addExamples(
|
|||||||
});
|
});
|
||||||
exe_lib.addCSourceFile(.{
|
exe_lib.addCSourceFile(.{
|
||||||
.file = b.path(path),
|
.file = b.path(path),
|
||||||
.flags = &.{
|
.flags = &.{},
|
||||||
"-fno-stack-protector",
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
exe_lib.linkLibC();
|
exe_lib.linkLibC();
|
||||||
exe_lib.rdynamic = true;
|
|
||||||
|
|
||||||
exe_lib.root_module.addCMacro("PLATFORM_WEB", "");
|
|
||||||
exe_lib.shared_memory = false;
|
|
||||||
exe_lib.root_module.single_threaded = false;
|
|
||||||
|
|
||||||
|
if (std.mem.eql(u8, name, "rlgl_standalone")) {
|
||||||
|
//TODO: Make rlgl_standalone example work
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (std.mem.eql(u8, name, "raylib_opengl_interop")) {
|
if (std.mem.eql(u8, name, "raylib_opengl_interop")) {
|
||||||
exe_lib.addIncludePath(b.path("src/external"));
|
//TODO: Make raylib_opengl_interop example work
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
exe_lib.linkLibrary(raylib);
|
exe_lib.linkLibrary(raylib);
|
||||||
@ -593,7 +587,7 @@ fn addExamples(
|
|||||||
else => b.addSystemCommand(&.{ "mkdir", "-p", emccOutputDirExample }),
|
else => b.addSystemCommand(&.{ "mkdir", "-p", emccOutputDirExample }),
|
||||||
};
|
};
|
||||||
|
|
||||||
const emcc_exe = switch (builtin.os.tag) { // TODO bundle emcc as a build dependency
|
const emcc_exe = switch (builtin.os.tag) {
|
||||||
.windows => "emcc.bat",
|
.windows => "emcc.bat",
|
||||||
else => "emcc",
|
else => "emcc",
|
||||||
};
|
};
|
||||||
@ -608,6 +602,7 @@ fn addExamples(
|
|||||||
"-sFULL-ES3=1",
|
"-sFULL-ES3=1",
|
||||||
"-sUSE_GLFW=3",
|
"-sUSE_GLFW=3",
|
||||||
"-sSTACK_OVERFLOW_CHECK=1",
|
"-sSTACK_OVERFLOW_CHECK=1",
|
||||||
|
"-sEXPORTED_RUNTIME_METHODS=['requestFullscreen']",
|
||||||
"-sASYNCIFY",
|
"-sASYNCIFY",
|
||||||
"-O0",
|
"-O0",
|
||||||
"--emrun",
|
"--emrun",
|
||||||
@ -626,10 +621,7 @@ fn addExamples(
|
|||||||
emcc_command.step.dependOn(&item.step);
|
emcc_command.step.dependOn(&item.step);
|
||||||
}
|
}
|
||||||
|
|
||||||
const run_step = emscriptenRunStep(b, emsdk_dep, emccOutputDirExampleWithFile) catch |err| {
|
const run_step = try emscriptenRunStep(b, emsdk_dep, emccOutputDirExampleWithFile);
|
||||||
std.debug.print("EmscriptenRunStep error: {}\n", .{err});
|
|
||||||
continue;
|
|
||||||
};
|
|
||||||
run_step.step.dependOn(&emcc_command.step);
|
run_step.step.dependOn(&emcc_command.step);
|
||||||
run_step.addArg("--no_browser");
|
run_step.addArg("--no_browser");
|
||||||
const run_option = b.step(name, name);
|
const run_option = b.step(name, name);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user