it seems the linker arguments changed for subsystem:windows
authorhgn <hgodden00@gmail.com>
Tue, 15 Jul 2025 10:58:22 +0000 (11:58 +0100)
committerhgn <hgodden00@gmail.com>
Tue, 15 Jul 2025 10:58:22 +0000 (11:58 +0100)
vg_build.h

index 9b768f0096ae1eb6801501ca21c811b4016dcd22..4063e1a2c0c95d82b9a03666674adfcf494207a6 100644 (file)
@@ -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;
 }