Create two binaries: factor.com and factor.exe. factor.com is the console version, factor.exe is win32. also make a factor shell script called factor to help cygwin out because it ignores the env vars
parent
0c6fd1b6dc
commit
2d960f4103
13
Makefile
13
Makefile
|
@ -3,6 +3,7 @@ AR = ar
|
||||||
LD = ld
|
LD = ld
|
||||||
|
|
||||||
EXECUTABLE = factor
|
EXECUTABLE = factor
|
||||||
|
CONSOLE_EXECUTABLE = factor_console
|
||||||
VERSION = 0.92
|
VERSION = 0.92
|
||||||
|
|
||||||
IMAGE = factor.image
|
IMAGE = factor.image
|
||||||
|
@ -138,9 +139,16 @@ zlib1.dll:
|
||||||
|
|
||||||
winnt-x86-32: freetype6.dll zlib1.dll
|
winnt-x86-32: freetype6.dll zlib1.dll
|
||||||
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.32
|
$(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:
|
winnt-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.nt.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:
|
wince-arm:
|
||||||
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.ce.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) \
|
$(CC) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
|
||||||
$(CFLAGS) -o $@$(EXE_SUFFIX)$(EXE_EXTENSION) $(EXE_OBJS)
|
$(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:
|
clean:
|
||||||
rm -f vm/*.o
|
rm -f vm/*.o
|
||||||
rm -f factor*.dll libfactor.{a,so,dylib}
|
rm -f factor*.dll libfactor.{a,so,dylib}
|
||||||
|
|
|
@ -2,6 +2,7 @@ CFLAGS += -DWINDOWS -mno-cygwin
|
||||||
LIBS = -lm
|
LIBS = -lm
|
||||||
PLAF_DLL_OBJS += vm/os-windows.o
|
PLAF_DLL_OBJS += vm/os-windows.o
|
||||||
EXE_EXTENSION=.exe
|
EXE_EXTENSION=.exe
|
||||||
|
CONSOLE_EXE_EXTENSION=.com
|
||||||
DLL_EXTENSION=.dll
|
DLL_EXTENSION=.dll
|
||||||
LINKER = $(CC) -shared -mno-cygwin -o
|
LINKER = $(CC) -shared -mno-cygwin -o
|
||||||
LINK_WITH_ENGINE = -l$(DLL_PREFIX)factor$(DLL_SUFFIX)
|
LINK_WITH_ENGINE = -l$(DLL_PREFIX)factor$(DLL_SUFFIX)
|
||||||
|
|
|
@ -4,5 +4,6 @@ DLL_SUFFIX=
|
||||||
PLAF_DLL_OBJS += vm/os-windows-nt.o
|
PLAF_DLL_OBJS += vm/os-windows-nt.o
|
||||||
PLAF_EXE_OBJS += vm/resources.o
|
PLAF_EXE_OBJS += vm/resources.o
|
||||||
PLAF_EXE_OBJS += vm/main-windows-nt.o
|
PLAF_EXE_OBJS += vm/main-windows-nt.o
|
||||||
#CFLAGS += -mwindows
|
CFLAGS += -mwindows
|
||||||
|
CFLAGS_CONSOLE += -mconsole
|
||||||
include vm/Config.windows
|
include vm/Config.windows
|
||||||
|
|
|
@ -120,9 +120,6 @@ void init_factor(F_PARAMETERS *p)
|
||||||
init_c_io();
|
init_c_io();
|
||||||
init_signals();
|
init_signals();
|
||||||
|
|
||||||
if(p->console)
|
|
||||||
open_console();
|
|
||||||
|
|
||||||
stack_chain = NULL;
|
stack_chain = NULL;
|
||||||
profiling_p = false;
|
profiling_p = false;
|
||||||
performing_gc = false;
|
performing_gc = false;
|
||||||
|
|
|
@ -54,14 +54,4 @@ void c_to_factor_toplevel(CELL quot)
|
||||||
|
|
||||||
void open_console(void)
|
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;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,5 +18,4 @@ typedef char F_SYMBOL;
|
||||||
|
|
||||||
void c_to_factor_toplevel(CELL quot);
|
void c_to_factor_toplevel(CELL quot);
|
||||||
long exception_handler(PEXCEPTION_POINTERS pe);
|
long exception_handler(PEXCEPTION_POINTERS pe);
|
||||||
bool console_open;
|
|
||||||
void open_console(void);
|
void open_console(void);
|
||||||
|
|
Loading…
Reference in New Issue