From 337aec343605b782680e58fc002f0068601b3dc4 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 15 Nov 2018 18:17:05 -0700 Subject: [PATCH] cs: fix -C flag to set `(system-type 'cross)` --- racket/src/cs/main.sps | 1 + racket/src/cs/rumble.sls | 1 + racket/src/cs/rumble/system.ss | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/racket/src/cs/main.sps b/racket/src/cs/main.sps index 40ed8398b8..2c702755ee 100644 --- a/racket/src/cs/main.sps +++ b/racket/src/cs/main.sps @@ -385,6 +385,7 @@ [("-C" "--cross") (set! host-config-dir init-config-dir) (set! host-collects-dir init-collects-dir) + (set-cross-mode! 'force) (loop (cdr args))] [("-U" "--no-user-path") (set! user-specific-search-paths? #f) diff --git a/racket/src/cs/rumble.sls b/racket/src/cs/rumble.sls index 6aa43982d0..f3eaed06dc 100644 --- a/racket/src/cs/rumble.sls +++ b/racket/src/cs/rumble.sls @@ -478,6 +478,7 @@ system-path-convention-type system-library-subpath-string ; not exported to Racket set-get-machine-info! ; not exported to Racket + set-cross-mode! ; not exported to Racket unsafe-car unsafe-cdr diff --git a/racket/src/cs/rumble/system.ss b/racket/src/cs/rumble/system.ss index 2738a07a3d..f3a6b8b93d 100644 --- a/racket/src/cs/rumble/system.ss +++ b/racket/src/cs/rumble/system.ss @@ -11,6 +11,9 @@ [(getenv "PLT_CS_MAKE_UNIX_STYLE_MACOS") #t] [else #f])) +(define cross-mode 'infer) +(define (set-cross-mode! m) (set! cross-mode m)) + (define (system-type* mode) (case mode [(vm) 'chez-scheme] @@ -29,7 +32,7 @@ [else (string->utf8 ".so")])] [(so-mode) 'local] [(fs-change) '#(#f #f #f #f)] - [(cross) 'infer] + [(cross) cross-mode] [else (raise-argument-error 'system-type (string-append "(or/c 'os 'word 'vm 'gc 'link 'machine\n"