Merge branch 'master' of git://factorcode.org/git/factor
commit
0245e17436
|
@ -11,6 +11,7 @@ Factor/factor
|
||||||
*.image
|
*.image
|
||||||
*.dylib
|
*.dylib
|
||||||
factor
|
factor
|
||||||
|
factor.com
|
||||||
*#*#
|
*#*#
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.gdb_history
|
.gdb_history
|
||||||
|
|
15
Makefile
15
Makefile
|
@ -17,9 +17,8 @@ else
|
||||||
CFLAGS += -O3 $(SITE_CFLAGS)
|
CFLAGS += -O3 $(SITE_CFLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG
|
CONFIG = $(shell ./build-support/factor.sh config-target)
|
||||||
include $(CONFIG)
|
include $(CONFIG)
|
||||||
endif
|
|
||||||
|
|
||||||
ENGINE = $(DLL_PREFIX)factor$(DLL_SUFFIX)$(DLL_EXTENSION)
|
ENGINE = $(DLL_PREFIX)factor$(DLL_SUFFIX)$(DLL_EXTENSION)
|
||||||
|
|
||||||
|
@ -130,18 +129,20 @@ solaris-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.solaris.x86.64
|
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.solaris.x86.64
|
||||||
|
|
||||||
freetype6.dll:
|
freetype6.dll:
|
||||||
wget http://factorcode.org/dlls/freetype6.dll
|
wget $(DLL_PATH)/freetype6.dll
|
||||||
chmod 755 freetype6.dll
|
chmod 755 freetype6.dll
|
||||||
|
|
||||||
zlib1.dll:
|
zlib1.dll:
|
||||||
wget http://factorcode.org/dlls/zlib1.dll
|
wget $(DLL_PATH)/zlib1.dll
|
||||||
chmod 755 zlib1.dll
|
chmod 755 zlib1.dll
|
||||||
|
|
||||||
winnt-x86-32: freetype6.dll zlib1.dll
|
windows-dlls: freetype6.dll zlib1.dll
|
||||||
|
|
||||||
|
winnt-x86-32: windows-dlls
|
||||||
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.32
|
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.32
|
||||||
$(MAKE) $(CONSOLE_EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.32
|
$(MAKE) $(CONSOLE_EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.32
|
||||||
|
|
||||||
winnt-x86-64:
|
winnt-x86-64: windows-dlls
|
||||||
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.64
|
$(MAKE) $(EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.64
|
||||||
$(MAKE) $(CONSOLE_EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.64
|
$(MAKE) $(CONSOLE_EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.64
|
||||||
|
|
||||||
|
@ -167,7 +168,7 @@ factor: $(DLL_OBJS) $(EXE_OBJS)
|
||||||
factor-console: $(DLL_OBJS) $(EXE_OBJS)
|
factor-console: $(DLL_OBJS) $(EXE_OBJS)
|
||||||
$(LINKER) $(ENGINE) $(DLL_OBJS)
|
$(LINKER) $(ENGINE) $(DLL_OBJS)
|
||||||
$(CC) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
|
$(CC) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
|
||||||
$(CFLAGS) $(CFLAGS_CONSOLE) -o $@$(EXE_SUFFIX)$(EXE_EXTENSION) $(EXE_OBJS)
|
$(CFLAGS) $(CFLAGS_CONSOLE) -o factor$(EXE_SUFFIX)$(CONSOLE_EXTENSION) $(EXE_OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f vm/*.o
|
rm -f vm/*.o
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
USING: io.launcher tools.test calendar accessors environment
|
USING: io.launcher tools.test calendar accessors environment
|
||||||
namespaces kernel system arrays io io.files io.encodings.ascii
|
namespaces kernel system arrays io io.files io.encodings.ascii
|
||||||
sequences parser assocs hashtables math continuations eval
|
sequences parser assocs hashtables math continuations eval
|
||||||
io.files.temp io.directories io.pathnames ;
|
io.files.temp io.directories io.pathnames splitting ;
|
||||||
IN: io.launcher.windows.nt.tests
|
IN: io.launcher.windows.nt.tests
|
||||||
|
|
||||||
[ ] [
|
[ ] [
|
||||||
|
@ -23,9 +23,12 @@ IN: io.launcher.windows.nt.tests
|
||||||
|
|
||||||
[ f ] [ "notepad" get process-running? ] unit-test
|
[ f ] [ "notepad" get process-running? ] unit-test
|
||||||
|
|
||||||
|
: console-vm ( -- path )
|
||||||
|
vm ".exe" ?tail [ ".com" append ] when ;
|
||||||
|
|
||||||
[ ] [
|
[ ] [
|
||||||
<process>
|
<process>
|
||||||
vm "-quiet" "-run=hello-world" 3array >>command
|
console-vm "-quiet" "-run=hello-world" 3array >>command
|
||||||
"out.txt" temp-file >>stdout
|
"out.txt" temp-file >>stdout
|
||||||
try-process
|
try-process
|
||||||
] unit-test
|
] unit-test
|
||||||
|
@ -36,7 +39,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
|
|
||||||
[ ] [
|
[ ] [
|
||||||
<process>
|
<process>
|
||||||
vm "-run=listener" 2array >>command
|
console-vm "-run=listener" 2array >>command
|
||||||
+closed+ >>stdin
|
+closed+ >>stdin
|
||||||
try-process
|
try-process
|
||||||
] unit-test
|
] unit-test
|
||||||
|
@ -47,7 +50,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
[ ] [
|
[ ] [
|
||||||
launcher-test-path [
|
launcher-test-path [
|
||||||
<process>
|
<process>
|
||||||
vm "-script" "stderr.factor" 3array >>command
|
console-vm "-script" "stderr.factor" 3array >>command
|
||||||
"out.txt" temp-file >>stdout
|
"out.txt" temp-file >>stdout
|
||||||
"err.txt" temp-file >>stderr
|
"err.txt" temp-file >>stderr
|
||||||
try-process
|
try-process
|
||||||
|
@ -65,7 +68,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
[ ] [
|
[ ] [
|
||||||
launcher-test-path [
|
launcher-test-path [
|
||||||
<process>
|
<process>
|
||||||
vm "-script" "stderr.factor" 3array >>command
|
console-vm "-script" "stderr.factor" 3array >>command
|
||||||
"out.txt" temp-file >>stdout
|
"out.txt" temp-file >>stdout
|
||||||
+stdout+ >>stderr
|
+stdout+ >>stderr
|
||||||
try-process
|
try-process
|
||||||
|
@ -79,7 +82,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
[ "output" ] [
|
[ "output" ] [
|
||||||
launcher-test-path [
|
launcher-test-path [
|
||||||
<process>
|
<process>
|
||||||
vm "-script" "stderr.factor" 3array >>command
|
console-vm "-script" "stderr.factor" 3array >>command
|
||||||
"err2.txt" temp-file >>stderr
|
"err2.txt" temp-file >>stderr
|
||||||
ascii <process-reader> lines first
|
ascii <process-reader> lines first
|
||||||
] with-directory
|
] with-directory
|
||||||
|
@ -92,7 +95,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
[ t ] [
|
[ t ] [
|
||||||
launcher-test-path [
|
launcher-test-path [
|
||||||
<process>
|
<process>
|
||||||
vm "-script" "env.factor" 3array >>command
|
console-vm "-script" "env.factor" 3array >>command
|
||||||
ascii <process-reader> contents
|
ascii <process-reader> contents
|
||||||
] with-directory eval
|
] with-directory eval
|
||||||
|
|
||||||
|
@ -102,7 +105,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
[ t ] [
|
[ t ] [
|
||||||
launcher-test-path [
|
launcher-test-path [
|
||||||
<process>
|
<process>
|
||||||
vm "-script" "env.factor" 3array >>command
|
console-vm "-script" "env.factor" 3array >>command
|
||||||
+replace-environment+ >>environment-mode
|
+replace-environment+ >>environment-mode
|
||||||
os-envs >>environment
|
os-envs >>environment
|
||||||
ascii <process-reader> contents
|
ascii <process-reader> contents
|
||||||
|
@ -114,7 +117,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
[ "B" ] [
|
[ "B" ] [
|
||||||
launcher-test-path [
|
launcher-test-path [
|
||||||
<process>
|
<process>
|
||||||
vm "-script" "env.factor" 3array >>command
|
console-vm "-script" "env.factor" 3array >>command
|
||||||
{ { "A" "B" } } >>environment
|
{ { "A" "B" } } >>environment
|
||||||
ascii <process-reader> contents
|
ascii <process-reader> contents
|
||||||
] with-directory eval
|
] with-directory eval
|
||||||
|
@ -125,7 +128,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
[ f ] [
|
[ f ] [
|
||||||
launcher-test-path [
|
launcher-test-path [
|
||||||
<process>
|
<process>
|
||||||
vm "-script" "env.factor" 3array >>command
|
console-vm "-script" "env.factor" 3array >>command
|
||||||
{ { "USERPROFILE" "XXX" } } >>environment
|
{ { "USERPROFILE" "XXX" } } >>environment
|
||||||
+prepend-environment+ >>environment-mode
|
+prepend-environment+ >>environment-mode
|
||||||
ascii <process-reader> contents
|
ascii <process-reader> contents
|
||||||
|
@ -151,7 +154,7 @@ IN: io.launcher.windows.nt.tests
|
||||||
2 [
|
2 [
|
||||||
launcher-test-path [
|
launcher-test-path [
|
||||||
<process>
|
<process>
|
||||||
vm "-script" "append.factor" 3array >>command
|
console-vm "-script" "append.factor" 3array >>command
|
||||||
"append-test" temp-file <appender> >>stdout
|
"append-test" temp-file <appender> >>stdout
|
||||||
try-process
|
try-process
|
||||||
] with-directory
|
] with-directory
|
||||||
|
|
|
@ -236,7 +236,7 @@ find_word_size() {
|
||||||
|
|
||||||
set_factor_binary() {
|
set_factor_binary() {
|
||||||
case $OS in
|
case $OS in
|
||||||
winnt) FACTOR_BINARY=factor-console.exe;;
|
winnt) FACTOR_BINARY=factor.com;;
|
||||||
*) FACTOR_BINARY=factor;;
|
*) FACTOR_BINARY=factor;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
@ -260,6 +260,7 @@ echo_build_info() {
|
||||||
$ECHO FACTOR_BINARY=$FACTOR_BINARY
|
$ECHO FACTOR_BINARY=$FACTOR_BINARY
|
||||||
$ECHO FACTOR_LIBRARY=$FACTOR_LIBRARY
|
$ECHO FACTOR_LIBRARY=$FACTOR_LIBRARY
|
||||||
$ECHO FACTOR_IMAGE=$FACTOR_IMAGE
|
$ECHO FACTOR_IMAGE=$FACTOR_IMAGE
|
||||||
|
$ECHO CONFIG_TARGET=$CONFIG_TARGET
|
||||||
$ECHO MAKE_TARGET=$MAKE_TARGET
|
$ECHO MAKE_TARGET=$MAKE_TARGET
|
||||||
$ECHO BOOT_IMAGE=$BOOT_IMAGE
|
$ECHO BOOT_IMAGE=$BOOT_IMAGE
|
||||||
$ECHO MAKE_IMAGE_TARGET=$MAKE_IMAGE_TARGET
|
$ECHO MAKE_IMAGE_TARGET=$MAKE_IMAGE_TARGET
|
||||||
|
@ -289,20 +290,30 @@ set_build_info() {
|
||||||
if [[ $OS == macosx && $ARCH == ppc ]] ; then
|
if [[ $OS == macosx && $ARCH == ppc ]] ; then
|
||||||
MAKE_IMAGE_TARGET=macosx-ppc
|
MAKE_IMAGE_TARGET=macosx-ppc
|
||||||
MAKE_TARGET=macosx-ppc
|
MAKE_TARGET=macosx-ppc
|
||||||
|
CONFIG_TARGET=macosx.ppc
|
||||||
elif [[ $OS == linux && $ARCH == ppc ]] ; then
|
elif [[ $OS == linux && $ARCH == ppc ]] ; then
|
||||||
MAKE_IMAGE_TARGET=linux-ppc
|
MAKE_IMAGE_TARGET=linux-ppc
|
||||||
MAKE_TARGET=linux-ppc
|
MAKE_TARGET=linux-ppc
|
||||||
|
CONFIG_TARGET=linux.ppc
|
||||||
elif [[ $OS == winnt && $ARCH == x86 && $WORD == 64 ]] ; then
|
elif [[ $OS == winnt && $ARCH == x86 && $WORD == 64 ]] ; then
|
||||||
MAKE_IMAGE_TARGET=winnt-x86.64
|
MAKE_IMAGE_TARGET=winnt-x86.64
|
||||||
MAKE_TARGET=winnt-x86-64
|
MAKE_TARGET=winnt-x86-64
|
||||||
|
CONFIG_TARGET=windows.nt.x86.64
|
||||||
|
elif [[ $OS == winnt && $ARCH == x86 && $WORD == 32 ]] ; then
|
||||||
|
MAKE_IMAGE_TARGET=winnt-x86.32
|
||||||
|
MAKE_TARGET=winnt-x86-32
|
||||||
|
CONFIG_TARGET=windows.nt.x86.32
|
||||||
elif [[ $ARCH == x86 && $WORD == 64 ]] ; then
|
elif [[ $ARCH == x86 && $WORD == 64 ]] ; then
|
||||||
MAKE_IMAGE_TARGET=unix-x86.64
|
MAKE_IMAGE_TARGET=unix-x86.64
|
||||||
MAKE_TARGET=$OS-x86-64
|
MAKE_TARGET=$OS-x86-64
|
||||||
|
CONFIG_TARGET=$OS.x86.64
|
||||||
else
|
else
|
||||||
MAKE_IMAGE_TARGET=$ARCH.$WORD
|
MAKE_IMAGE_TARGET=$ARCH.$WORD
|
||||||
MAKE_TARGET=$OS-$ARCH-$WORD
|
MAKE_TARGET=$OS-$ARCH-$WORD
|
||||||
|
CONFIG_TARGET=$OS.$ARCH.$WORD
|
||||||
fi
|
fi
|
||||||
BOOT_IMAGE=boot.$MAKE_IMAGE_TARGET.image
|
BOOT_IMAGE=boot.$MAKE_IMAGE_TARGET.image
|
||||||
|
CONFIG_TARGET=vm/Config.$CONFIG_TARGET
|
||||||
}
|
}
|
||||||
|
|
||||||
parse_build_info() {
|
parse_build_info() {
|
||||||
|
@ -570,5 +581,6 @@ case "$1" in
|
||||||
dlls) get_config_info; maybe_download_dlls;;
|
dlls) get_config_info; maybe_download_dlls;;
|
||||||
net-bootstrap) get_config_info; update_boot_images; bootstrap ;;
|
net-bootstrap) get_config_info; update_boot_images; bootstrap ;;
|
||||||
make-target) ECHO=false; find_build_info; echo $MAKE_TARGET ;;
|
make-target) ECHO=false; find_build_info; echo $MAKE_TARGET ;;
|
||||||
|
config-target) ECHO=false; find_build_info; echo $CONFIG_TARGET ;;
|
||||||
*) usage ;;
|
*) usage ;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -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_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)
|
||||||
|
|
|
@ -6,4 +6,5 @@ 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
|
CFLAGS_CONSOLE += -mconsole
|
||||||
|
CONSOLE_EXTENSION = .com
|
||||||
include vm/Config.windows
|
include vm/Config.windows
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
DLL_PATH=http://factorcode.org/dlls
|
||||||
WINDRES=windres
|
WINDRES=windres
|
||||||
include vm/Config.windows.nt
|
include vm/Config.windows.nt
|
||||||
include vm/Config.x86.32
|
include vm/Config.x86.32
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#error "lol"
|
||||||
|
DLL_PATH=http://factorcode.org/dlls/64
|
||||||
CC=$(WIN64_PATH)-gcc.exe
|
CC=$(WIN64_PATH)-gcc.exe
|
||||||
WINDRES=$(WIN64_PATH)-windres.exe
|
WINDRES=$(WIN64_PATH)-windres.exe
|
||||||
include vm/Config.windows.nt
|
include vm/Config.windows.nt
|
||||||
|
|
|
@ -109,17 +109,6 @@ const F_CHAR *default_image_path(void)
|
||||||
snwprintf(temp_path, sizeof(temp_path)-1, L"%s.image", full_path);
|
snwprintf(temp_path, sizeof(temp_path)-1, L"%s.image", full_path);
|
||||||
temp_path[sizeof(temp_path) - 1] = 0;
|
temp_path[sizeof(temp_path) - 1] = 0;
|
||||||
|
|
||||||
if(!windows_stat(temp_path)) {
|
|
||||||
unsigned int len = wcslen(full_path);
|
|
||||||
F_CHAR magic[] = L"-console";
|
|
||||||
unsigned int magic_len = wcslen(magic);
|
|
||||||
|
|
||||||
if(!wcsncmp(full_path + len - magic_len, magic, MIN(len, magic_len)))
|
|
||||||
full_path[len - magic_len] = 0;
|
|
||||||
snwprintf(temp_path, sizeof(temp_path)-1, L"%s.image", full_path);
|
|
||||||
temp_path[sizeof(temp_path) - 1] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return safe_strdup(temp_path);
|
return safe_strdup(temp_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue