]> gitweb.factorcode.org Git - factor.git/commitdiff
Create two binaries: factor.com and factor.exe. factor.com is the console version...
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 29 Jan 2009 19:15:16 +0000 (13:15 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 29 Jan 2009 19:15:16 +0000 (13:15 -0600)
Makefile
vm/Config.windows
vm/Config.windows.nt
vm/factor.c
vm/os-windows-nt.c
vm/os-windows-nt.h

index 519baa28d1e7147e84a7c1b94530e93cf26d2835..556bb3749409165bc53f5e506c66b85330f11d14 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,7 @@ AR = ar
 LD = ld
 
 EXECUTABLE = factor
+CONSOLE_EXECUTABLE = factor_console
 VERSION = 0.92
 
 IMAGE = factor.image
@@ -138,9 +139,16 @@ zlib1.dll:
 
 winnt-x86-32: freetype6.dll zlib1.dll
        $(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.32
+       $(MAKE) $(CONSOLE_EXECUTABLE) $(CFLAGS_CONSOLE) CONFIG=vm/Config.windows.nt.x86.32
+       $(MAKE) winnt-finish
 
 winnt-x86-64:
        $(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.64
+       $(MAKE) $(CONSOLE_EXECUTABLE) $(CFLAGS_CONSOLE) CONFIG=vm/Config.windows.nt.x86.64
+       $(MAKE) winnt-finish
+
+winnt-finish:
+       cp misc/factor-cygwin.sh factor
 
 wince-arm:
        $(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.ce.arm
@@ -161,6 +169,11 @@ factor: $(DLL_OBJS) $(EXE_OBJS)
        $(CC) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
                $(CFLAGS) -o $@$(EXE_SUFFIX)$(EXE_EXTENSION) $(EXE_OBJS)
 
+factor_console: $(DLL_OBJS) $(EXE_OBJS)
+       $(LINKER) $(ENGINE) $(DLL_OBJS)
+       $(CC) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
+               $(CFLAGS) $(CFLAGS_CONSOLE) -o $@$(EXE_SUFFIX)$(CONSOLE_EXE_EXTENSION) $(EXE_OBJS)
+
 clean:
        rm -f vm/*.o
        rm -f factor*.dll libfactor.{a,so,dylib}
index 41eca86b5cfa358993ff6d6428978e28fddec560..63aa396e06e5f72fbd549a99d00b8436a7a0d203 100644 (file)
@@ -2,6 +2,7 @@ CFLAGS += -DWINDOWS -mno-cygwin
 LIBS = -lm
 PLAF_DLL_OBJS += vm/os-windows.o
 EXE_EXTENSION=.exe
+CONSOLE_EXE_EXTENSION=.com
 DLL_EXTENSION=.dll
 LINKER = $(CC) -shared -mno-cygwin -o 
 LINK_WITH_ENGINE = -l$(DLL_PREFIX)factor$(DLL_SUFFIX)
index 4c6279bf8f3b4156022311993b563030251319b5..de28ba64bad30c67020c3d6bbcd86992a5d62705 100644 (file)
@@ -4,5 +4,6 @@ DLL_SUFFIX=
 PLAF_DLL_OBJS += vm/os-windows-nt.o
 PLAF_EXE_OBJS += vm/resources.o
 PLAF_EXE_OBJS += vm/main-windows-nt.o
-#CFLAGS += -mwindows
+CFLAGS += -mwindows
+CFLAGS_CONSOLE += -mconsole
 include vm/Config.windows
index d9042c945563a854a3b149dc9df24ea554b72c25..8bdafb77ec95b4f7912fc5a8a3275b73c168d058 100755 (executable)
@@ -120,9 +120,6 @@ void init_factor(F_PARAMETERS *p)
        init_c_io();
        init_signals();
 
-       if(p->console)
-               open_console();
-
        stack_chain = NULL;
        profiling_p = false;
        performing_gc = false;
index f982abfb1b94c295c510a88f5b4b971dc0cb43c2..bcddd0b140cff83b128499f92c8ed31cbbaabb88 100755 (executable)
@@ -54,14 +54,4 @@ void c_to_factor_toplevel(CELL quot)
 
 void open_console(void)
 {
-       /*
-       // Do this: http://www.cygwin.com/ml/cygwin/2007-11/msg00432.html
-       if(console_open)
-               return;
-
-       if(AttachConsole(ATTACH_PARENT_PROCESS) || AllocConsole())
-       {
-               console_open = true;
-       }
-       */
 }
index 1b680befadb375f49d2b467e85baadd556578348..4e047b497c7c70adf7acb3bae9607b4c8da7ec8c 100755 (executable)
@@ -18,5 +18,4 @@ typedef char F_SYMBOL;
 
 void c_to_factor_toplevel(CELL quot);
 long exception_handler(PEXCEPTION_POINTERS pe);
-bool console_open;
 void open_console(void);