]> gitweb.factorcode.org Git - factor.git/commitdiff
Nmakefile: Set the /SUBSYSTEM for 5.01 (win32), or 5.02 (x64) to allow
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 11 Jun 2015 02:11:38 +0000 (19:11 -0700)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 11 Jun 2015 02:11:38 +0000 (19:11 -0700)
running on Windows XP. In x86-32-vista mode, don't set it.

real information:
https://software.intel.com/en-us/articles/linking-applications-using-visual-studio-2012-to-run-on-windows-xp

Fixes #1257.

Nmakefile

index 1f69fd8a2972fea2bdc5e54685ccc460939e8e26..9085867b0dcecc8b83d50feedee0d3c1ef9727f4 100644 (file)
--- a/Nmakefile
+++ b/Nmakefile
@@ -24,18 +24,27 @@ CL_FLAGS = $(CL_FLAGS) /Zi /DFACTOR_DEBUG
 !IF "$(PLATFORM)" == "x86-32"
 LINK_FLAGS = $(LINK_FLAGS) /safeseh
 PLAF_DLL_OBJS = vm\os-windows-x86.32.obj vm\safeseh.obj vm\cpu-x86.obj
+SUBSYSTEM_COM_FLAGS = console,"5.01"
+SUBSYSTEM_EXE_FLAGS = windows,"5.01"
 
 !ELSEIF "$(PLATFORM)" == "x86-32-vista"
 LINK_FLAGS = $(LINK_FLAGS) /safeseh
 CL_FLAGS = $(CL_FLAGS) $(CL_FLAGS_VISTA)
 PLAF_DLL_OBJS = vm\os-windows-x86.32.obj vm\safeseh.obj vm\cpu-x86.obj
+SUBSYSTEM_COM_FLAGS = console
+SUBSYSTEM_EXE_FLAGS = windows
 
 !ELSEIF "$(PLATFORM)" == "x86-64"
 PLAF_DLL_OBJS = vm\os-windows-x86.64.obj vm\cpu-x86.obj
+SUBSYSTEM_COM_FLAGS = console,"5.02"
+SUBSYSTEM_EXE_FLAGS = windows,"5.02"
+
 
 !ELSEIF "$(PLATFORM)" == "x86-64-vista"
 CL_FLAGS = $(CL_FLAGS) $(CL_FLAGS_VISTA)
 PLAF_DLL_OBJS = vm\os-windows-x86.64.obj vm\cpu-x86.obj
+SUBSYSTEM_COM_FLAGS = console
+SUBSYSTEM_EXE_FLAGS = windows
 !ENDIF
 
 !IF DEFINED(DEBUG)
@@ -113,10 +122,10 @@ factor.dll.lib: $(DLL_OBJS)
        link $(LINK_FLAGS) /implib:factor.dll.lib /out:factor.dll /dll $(DLL_OBJS)
 
 factor.com: $(EXE_OBJS) $(DLL_OBJS)
-       link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:console $(EXE_OBJS) $(DLL_OBJS)
+       link $(LINK_FLAGS) /out:factor.com /SUBSYSTEM:$(SUBSYSTEM_COM_FLAGS) $(EXE_OBJS) $(DLL_OBJS)
 
 factor.exe: $(EXE_OBJS) $(DLL_OBJS)
-       link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:windows $(EXE_OBJS) $(DLL_OBJS)
+       link $(LINK_FLAGS) /out:factor.exe /SUBSYSTEM:$(SUBSYSTEM_EXE_FLAGS) $(EXE_OBJS) $(DLL_OBJS)
 
 all: factor.com factor.exe factor.dll.lib libfactor-ffi-test.dll