From f7680d39e52ba89f2c6ddcfe3283763ed75936ca Mon Sep 17 00:00:00 2001 From: hgn Date: Tue, 15 Jul 2025 11:58:22 +0100 Subject: [PATCH] it seems the linker arguments changed for subsystem:windows --- vg_build.h | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) 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; } -- 2.25.1