Use 3m to build CS on Windows
The extra time to build 3m via CGC seems worth it, especially when building Chez Scheme's boot files.
This commit is contained in:
parent
204b5cb52e
commit
e51c44fa3d
2
Makefile
2
Makefile
|
@ -414,7 +414,7 @@ WIN32_CS_COPY_ARGS_EXCEPT_SUT = PKGS="$(PKGS)" $(WIN32_CS_COPY_ARGS_EXCEPT_PKGS_
|
|||
WIN32_CS_COPY_ARGS = PKGS="$(PKGS)" WIN32_CS_SETUP_TARGET=$(WIN32_CS_SETUP_TARGET) $(WIN32_CS_COPY_ARGS_EXCEPT_PKGS_SUT)
|
||||
WIN32_CS_COPY_ARGS_BOOT = $(WIN32_CS_COPY_ARGS) SETUP_BOOT_MODE="$(SETUP_BOOT_MODE)" WIN32_BUILD_LEVEL="$(WIN32_BUILD_LEVEL)"
|
||||
|
||||
WIN32_BOOT_ARGS = SETUP_BOOT_MODE=--boot WIN32_BUILD_LEVEL=cgc WIN32_PLAIN_RACKET=racket\racketcgc
|
||||
WIN32_BOOT_ARGS = SETUP_BOOT_MODE=--boot WIN32_BUILD_LEVEL=3m WIN32_PLAIN_RACKET=racket\racket3m
|
||||
|
||||
win32-cs:
|
||||
IF "$(RACKET)" == "" $(MAKE) win32-racket-then-cs $(WIN32_BOOT_ARGS) $(WIN32_CS_COPY_ARGS)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
set BUILD_LEVEL=cgc
|
||||
set BUILD_LEVEL=3m
|
||||
call build.bat
|
||||
|
||||
..\..\RacketCGC.exe -O "info@compiler/cm" -l- setup --boot ../setup-go.rkt ../build/compiled ^
|
||||
ignored ../build/ignored.d ^
|
||||
csbuild.rkt ^
|
||||
--racketcs-suffix "" --pull ^
|
||||
-- --depth 1
|
||||
..\..\Racket3m.exe -O "info@compiler/cm" -l- setup --boot ../setup-go.rkt ../build/compiled ^
|
||||
ignored ../build/ignored.d ^
|
||||
csbuild.rkt ^
|
||||
--racketcs-suffix "" --pull ^
|
||||
-- --depth 1
|
||||
|
||||
..\..\Racket.exe -N "raco" -l- setup
|
||||
|
|
|
@ -30,7 +30,7 @@ if errorlevel 1 exit /B 1
|
|||
if errorlevel 1 exit /B 1
|
||||
msbuild racket%PLTSLNVER%.sln /p:Configuration=Release /p:Platform=%BUILDMODE%
|
||||
|
||||
if not defined BUILD_LEVEL set BUILD_LEVEL="3m"
|
||||
if not defined BUILD_LEVEL set BUILD_LEVEL="all"
|
||||
if "%BUILD_LEVEL%"=="cgc" goto doneBuilding
|
||||
|
||||
cd ..\gracket
|
||||
|
@ -42,10 +42,12 @@ REM Assumes that Racket is started in a subdirectory of here:
|
|||
set BOOT_SETUP=-W "info@compiler/cm error" -l- setup --boot ../../setup-go.rkt ../compiled
|
||||
|
||||
cd gc2
|
||||
..\..\..\racketcgc -G ..\%BUILD_CONFIG% %BOOT_SETUP% make.none ../compiled/make.dep make.rkt
|
||||
..\..\..\racketcgc -G ..\%BUILD_CONFIG% %BOOT_SETUP% make.none ../compiled/make.dep make.rkt --build-level %BUILD_LEVEL%
|
||||
if errorlevel 1 exit /B 1
|
||||
cd ..
|
||||
|
||||
if "%BUILD_LEVEL%"=="3m" goto doneBuilding
|
||||
|
||||
cd mzstart
|
||||
msbuild mzstart%PLTSLNVER%.sln /p:Configuration=Release /p:Platform=%BUILDMODE%
|
||||
if errorlevel 1 exit /B 1
|
||||
|
|
|
@ -1,7 +1,18 @@
|
|||
#lang racket/base
|
||||
(require racket/system
|
||||
racket/cmdline
|
||||
(for-label "../../racket/gc2/xform-mod.rkt"))
|
||||
|
||||
(define suffix "")
|
||||
|
||||
(command-line
|
||||
#:once-each
|
||||
[("--build-level") level "Specify a suffix-determining build level"
|
||||
(unless (equal? level "all")
|
||||
(set! suffix level))]
|
||||
#:args ()
|
||||
(void))
|
||||
|
||||
(define (system- s)
|
||||
(eprintf "~a\n" s)
|
||||
(system s))
|
||||
|
@ -275,7 +286,7 @@
|
|||
(c-compile "../../racket/src/mzsj86.c" "xsrc/mzsj86.obj" '() mz-inc)
|
||||
|
||||
(define dll "../../../lib/libracket3mxxxxxxx.dll")
|
||||
(define exe "../../../Racket.exe")
|
||||
(define exe (format "../../../Racket~a.exe" suffix))
|
||||
|
||||
(define libs "kernel32.lib user32.lib ws2_32.lib shell32.lib advapi32.lib")
|
||||
|
||||
|
@ -368,7 +379,8 @@
|
|||
null
|
||||
exe
|
||||
"")
|
||||
(system- "mt.exe -manifest ../racket/racket.manifest -outputresource:../../../Racket.exe;1")
|
||||
(system- (format "mt.exe -manifest ../racket/racket.manifest -outputresource:~a;1"
|
||||
exe))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
@ -393,14 +405,17 @@
|
|||
|
||||
(check-rc "gracket.res" "../gracket/gracket.rc" "../gracket/gracket.ico")
|
||||
|
||||
(define gui-exe (format "../../../lib/GRacket~a.exe" suffix))
|
||||
|
||||
(link-exe (list
|
||||
"gracket.res"
|
||||
"xsrc/grmain.obj"
|
||||
(find-build-file "racket" "MemoryModule.obj"))
|
||||
'("advapi32.lib")
|
||||
"../../../lib/GRacket.exe"
|
||||
gui-exe
|
||||
" /subsystem:windows")
|
||||
(system- "mt.exe -manifest ../gracket/gracket.manifest -outputresource:../../../lib/GRacket.exe;1")
|
||||
(system- (format "mt.exe -manifest ../gracket/gracket.manifest -outputresource:~a;1"
|
||||
gui-exe))
|
||||
|
||||
(system- (format "~a /MT /O2 /DMZ_PRECISE_GC /I../../racket/include /I.. /c ../../racket/dynsrc/mzdyn.c /Fomzdyn3m.obj"
|
||||
cl.exe))
|
||||
|
@ -418,5 +433,6 @@
|
|||
(copy-file/diff "mzdyn3m.exp" "../../../lib/msvc/mzdyn3m.exp")
|
||||
(copy-file/diff "mzdyn3m.obj" "../../../lib/msvc/mzdyn3m.obj")
|
||||
|
||||
(parameterize ([current-command-line-arguments (vector "../../../lib/system.rktd")])
|
||||
(dynamic-require "../../racket/mksystem.rkt" #f))
|
||||
(when (equal? suffix "")
|
||||
(parameterize ([current-command-line-arguments (vector "../../../lib/system.rktd")])
|
||||
(dynamic-require "../../racket/mksystem.rkt" #f)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user