From: hgn Date: Tue, 15 Jul 2025 10:58:22 +0000 (+0100) Subject: it seems the linker arguments changed for subsystem:windows X-Git-Url: https://harrygodden.com/git/?a=commitdiff_plain;h=f7680d39e52ba89f2c6ddcfe3283763ed75936ca;p=vg.git it seems the linker arguments changed for subsystem:windows --- diff --git a/vg_build.h b/vg_build.h index 9b768f0..4063e1a 100644 --- a/vg_build.h +++ b/vg_build.h @@ -250,7 +250,35 @@ vg_compiler_run( struct vg_project *project, /* compiler specification */ if( env->compiler == k_compiler_zigcc ) + { vg_strcat( &cmd, "zig cc " ); + + if( env->platform == k_platform_windows ) + { + if( type == k_obj_type_exe ) + { + vg_strcat( &cmd, "-Wl,--subsystem=windows" ); + + if( env->no_pdb ) + vg_strcat( &cmd, "-Wl,/pdb:/dev/null" ); + } + } + + vg_strcat( &cmd, " -target " ); + vg_strcat( &cmd, architecture_names[env->arch] ); + vg_strcat( &cmd, "-" ); + vg_strcat( &cmd, platform_names[env->platform] ); + + if( env->platform == k_platform_linux ) + { + vg_strcat( &cmd, "-gnu" ); + vg_strcat( &cmd, libc_names[env->libc] ); + } + + vg_strcat( &cmd, " -fno-sanitize=undefined " ); + vg_strcat( &cmd, " -fkeep-static-consts -fkeep-persistent-storage-variables " ); + } + else if( env->compiler == k_compiler_clang ) vg_strcat( &cmd, "clang" ); @@ -353,34 +381,6 @@ vg_compiler_run( struct vg_project *project, vg_strcat( &cmd, " -Wl,-rpath=./\\\n" ); } - /* platform specification (zig-cc only) */ - if( env->compiler == k_compiler_zigcc ) - { - vg_strcat( &cmd, " -target " ); - vg_strcat( &cmd, architecture_names[env->arch] ); - vg_strcat( &cmd, "-" ); - vg_strcat( &cmd, platform_names[env->platform] ); - - if( env->platform == k_platform_linux ) - { - vg_strcat( &cmd, "-gnu" ); - vg_strcat( &cmd, libc_names[env->libc] ); - } - - if( env->platform == k_platform_windows ) - { - if( type == k_obj_type_exe ) - { - if( env->no_pdb ) - vg_strcat( &cmd, " /pdb:/dev/null" ); - vg_strcat( &cmd, " /SUBSYSTEM:windows" ); - } - } - - vg_strcat( &cmd, " -fno-sanitize=undefined " ); - vg_strcat( &cmd, " -fkeep-static-consts -fkeep-persistent-storage-variables " ); - } - vg_syscall( cmd.buffer ); return res; }