X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=vg_build.h;h=d85764548acb7796d96f72e7237a4b3ea3a7f10c;hb=3b841cc427adddeeb5b624d254587a45622d506d;hp=37f00338019419ce20cdbc5556881fc9995d8a4e;hpb=13737a7a9faa5b31696c711f153b7de4201c404e;p=vg.git diff --git a/vg_build.h b/vg_build.h index 37f0033..d857645 100644 --- a/vg_build.h +++ b/vg_build.h @@ -35,6 +35,8 @@ struct compiler_info k_compiler_mingw } compiler; + + int clean; } static vg_compiler; @@ -88,7 +90,6 @@ void vg_build_start( const char *name, enum compiler compiler ) vg_compiler.include[0] = '\0'; vg_compiler.library[0] = '\0'; vg_compiler.compiler = compiler; - strcpy( vg_compiler.name, name ); snprintf( vg_compiler.build_dir, 512, @@ -96,6 +97,10 @@ void vg_build_start( const char *name, enum compiler compiler ) name, vg_compiler_str() ); + if( vg_compiler.clean ){ + vg_build_syscall( "rm -rf %s", vg_compiler.build_dir ); + } + vg_build_syscall( "mkdir -p %s", vg_compiler.build_dir ); vg_build_include( "-I. -I./vg " ); vg_build_library_dir( "-L. " ); @@ -111,7 +116,13 @@ void vg_build_add_link_for_graphics(void) else { vg_build_link( "-lmingw32 -lSDL2main -lSDL2 -lopengl32 -mwindows \\\n" ); - vg_build_link( " -Wl,--dynamicbase -Wl,--nxcompat " ); + 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 " ); @@ -193,6 +204,10 @@ void vg_build_mode_debug(void) vg_compiler.optimization_profile = k_optimization_profile_debug; } +void vg_build_clean(void){ + vg_compiler.clean = 1; +} + void vg_build(void) { char cmd[8192]; @@ -211,7 +226,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" ); @@ -224,8 +240,8 @@ void vg_build(void) /* Warnings */ strcat( cmd, " -Wall\\\n" - " -Wno-unused-function -Wno-unused-variable\\\n" - " -Wno-unused-command-line-argument -Wno-unused-but-set-variable\\\n" + " -Wno-unused-function -Wno-unused-variable -Wno-format-truncation\\\n" + " -Wno-unused-command-line-argument -Wno-unused-but-set-variable\\\n" ); if( vg_compiler.compiler == k_compiler_clang ){