X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg_build.h;h=873eb3981e41464b486026581762dad063e2c286;hb=c8399b3248b4965990ec2573d3ac2e27b1b8dbcc;hp=03f82fc1f4f819c7e2b8337f6adc5b18d0d4b942;hpb=e490893eb0e952a5e0672faeba7250e053e4175e;p=vg.git diff --git a/vg_build.h b/vg_build.h index 03f82fc..873eb39 100644 --- a/vg_build.h +++ b/vg_build.h @@ -110,11 +110,26 @@ void vg_build_add_link_for_graphics(void) } else { - vg_build_link( "-lmingw32 -lSDL2main -lSDL2 -lopengl32 -mwindows " ); + vg_build_link( "-lmingw32 -lSDL2main -lSDL2 -lopengl32 -mwindows \\\n" ); + vg_build_link( " -Wl,--dynamicbase -Wl,--nxcompat \\\n" ); + + /* + 26.05.23: Suddenly something is pulling in winpthread. + * cant work out whats doing it or why. */ + vg_build_link( " -Wl,-Bstatic,--whole-archive \\\n" ); + vg_build_link( " -lwinpthread \\\n" ); + vg_build_link( " -Wl,--no-whole-archive " ); } vg_build_object( "vg/dep/glad/glad.c " ); - vg_build_link( "-lm -pthread " ); + + vg_build_link( "-lm " ); + if( vg_compiler.compiler == k_compiler_mingw ){ + //vg_build_link( "-mthreads " ); + //vg_build_link( "-static-libgcc " ); + } + else{ + vg_build_link( "-pthread " ); + } } void vg_build_add_link_for_game(void) @@ -202,7 +217,8 @@ void vg_build(void) if( (vg_compiler.compiler == k_compiler_gcc) || (vg_compiler.compiler == k_compiler_clang ) ) { - strcat( cmd, "-rdynamic -fsanitize=address " ); + strcat( cmd, "-rdynamic -fsanitize=address " + "-fPIE -fstack-protector-strong " ); } strcat( cmd, "\\\n" ); @@ -217,9 +233,13 @@ void vg_build(void) " -Wall\\\n" " -Wno-unused-function -Wno-unused-variable\\\n" " -Wno-unused-command-line-argument -Wno-unused-but-set-variable\\\n" - " -ferror-limit=5\\\n" ); + if( vg_compiler.compiler == k_compiler_clang ){ + strcat( cmd, + " -ferror-limit=5\\\n" ); + } + /* Include */ strcat( cmd, " " ); strcat( cmd, vg_compiler.include );