From 21bbf1b42eead5e308d5064327cf7f85c849b72a Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 31 Dec 2018 11:24:35 -0700 Subject: [PATCH] cs: vfasl for Windows and Unix variants --- racket/src/cs/c/Makefile.in | 17 +++++++++++++---- racket/src/cs/c/embed-boot.rkt | 6 +++--- racket/src/worksp/csbuild.rkt | 26 ++++++++++++++++++++++++-- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/racket/src/cs/c/Makefile.in b/racket/src/cs/c/Makefile.in index 8c167d4bbe..2769590d87 100644 --- a/racket/src/cs/c/Makefile.in +++ b/racket/src/cs/c/Makefile.in @@ -153,11 +153,11 @@ racket.boot: racket.so EMBED_DEPS = $(srcdir)/embed-boot.rkt -racketcs@NOT_OSX@: raw_racketcs racket.boot $(EMBED_DEPS) - $(BOOTSTRAP_RACKET) $(srcdir)/embed-boot.rkt @ELF_COMP@ @COMPRESS_COMP@ raw_racketcs racketcs $(SCHEME_INC) racket.boot +racketcs@NOT_OSX@: raw_racketcs petite-v.boot scheme-v.boot racket-v.boot $(EMBED_DEPS) + $(BOOTSTRAP_RACKET) $(srcdir)/embed-boot.rkt @ELF_COMP@ @COMPRESS_COMP@ raw_racketcs racketcs petite-v.boot scheme-v.boot racket-v.boot -gracketcs@NOT_OSX@: raw_gracketcs racket.boot $(EMBED_DEPS) - $(BOOTSTRAP_RACKET) $(srcdir)/embed-boot.rkt @ELF_COMP@ @COMPRESS_COMP@ raw_gracketcs gracketcs $(SCHEME_INC) racket.boot +gracketcs@NOT_OSX@: raw_gracketcs petite-v.boot scheme-v.boot racket-v.boot $(EMBED_DEPS) + $(BOOTSTRAP_RACKET) $(srcdir)/embed-boot.rkt @ELF_COMP@ @COMPRESS_COMP@ raw_gracketcs gracketcs petite-v.boot scheme-v.boot racket-v.boot BOOT_OBJS = boot.o $(SCHEME_INC)/kernel.o rktio/librktio.a @@ -167,6 +167,15 @@ raw_racketcs: main.o boot.o $(BOOT_OBJS) raw_gracketcs: grmain.o boot.o $(BOOT_OBJS) $(CC) $(CFLAGS) -o raw_gracketcs grmain.o $(BOOT_OBJS) $(LDFLAGS) $(LIBS) +petite-v.boot: $(SCHEME_INC)/petite.boot + $(SCHEME) --script $(srcdir)/to-vfasl.ss @COMPRESS_COMP@ $(SCHEME_INC)/petite.boot petite-v.boot + +scheme-v.boot: $(SCHEME_INC)/scheme.boot + $(SCHEME) --script $(srcdir)/to-vfasl.ss @COMPRESS_COMP@ $(SCHEME_INC)/scheme.boot scheme-v.boot petite + +racket-v.boot: racket.boot + $(SCHEME) --script $(srcdir)/to-vfasl.ss @COMPRESS_COMP@ racket.boot racket-v.boot petite scheme + # ---------------------------------------- # Mac OS diff --git a/racket/src/cs/c/embed-boot.rkt b/racket/src/cs/c/embed-boot.rkt index a085da5a24..292d023b8d 100644 --- a/racket/src/cs/c/embed-boot.rkt +++ b/racket/src/cs/c/embed-boot.rkt @@ -18,10 +18,10 @@ #:multi [("++exe") src dest "Select an alternative executable" (set! alt-dests (cons (cons src dest) alt-dests))] - #:args (src-file dest-file boot-dir racket.boot) + #:args (src-file dest-file petite.boot scheme.boot racket.boot) - (define bstr1 (adjust-compress (file->bytes (build-path boot-dir "petite.boot")))) - (define bstr2 (adjust-compress (file->bytes (build-path boot-dir "scheme.boot")))) + (define bstr1 (adjust-compress (file->bytes petite.boot))) + (define bstr2 (adjust-compress (file->bytes scheme.boot))) (define bstr3 (adjust-compress (file->bytes racket.boot))) (with-handlers ([exn? (lambda (x) diff --git a/racket/src/worksp/csbuild.rkt b/racket/src/worksp/csbuild.rkt index 55fe9d7a2d..3917aa2734 100644 --- a/racket/src/worksp/csbuild.rkt +++ b/racket/src/worksp/csbuild.rkt @@ -198,6 +198,27 @@ "../build/racket.so" "../build/racket.boot") +(system*! scheme + "--script" + "../cs/c/to-vfasl.ss" + (build-path scheme-dir machine "boot" machine "petite.boot") + "../build/petite-v.boot") + +(system*! scheme + "--script" + "../cs/c/to-vfasl.ss" + (build-path scheme-dir machine "boot" machine "scheme.boot") + "../build/scheme-v.boot" + "petite") + +(system*! scheme + "--script" + "../cs/c/to-vfasl.ss" + "../build/racket.boot" + "../build/racket-v.boot" + "petite" + "scheme") + (system*! (find-exe) "-O" "info@compiler/cm" "-l-" "setup" boot-mode "../setup-go.rkt" "..//build/compiled" @@ -206,8 +227,9 @@ "++exe" "../build/raw_racketcs.exe" (format "../../Racket~a.exe" cs-suffix) "++exe" "../build/raw_gracketcs.exe" (format "../../lib/GRacket~a.exe" cs-suffix) "../build/raw_libracketcs.dll" "../../lib/libracketcsxxxxxxx.dll" - (build-path scheme-dir machine "boot" machine) - "../build/racket.boot") + "../build/petite-v.boot" + "../build/scheme-v.boot" + "../build/racket-v.boot") (system*! "mt" "-manifest" "racket/racket.manifest"