~ chicken-core (chicken-5) ffa2a9af8256b4b5c616affd3f377a5f9c7d859d
commit ffa2a9af8256b4b5c616affd3f377a5f9c7d859d Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Feb 25 18:55:41 2010 +0100 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Feb 25 18:55:41 2010 +0100 bugfix in csc -deploy diff --git a/README b/README index f431ad8c..b2feeae9 100644 --- a/README +++ b/README @@ -178,6 +178,12 @@ to make(1). Even simpler is editing the included "config.make" and just invoke make(1) without any extra parameters. + C_COMPILER= + You can select an alternative compiler by setting this variable. + The default compiler is "gcc". CHICKEN can be built with the + LLVM version of gcc and with "clang", the LLVM-based C compiler, + just set C_COMPILER to "llvm-gcc" or "clang". + To remove CHICKEN from your file-system, enter (probably as root): diff --git a/config.make b/config.make index b8b4118c..bf45faf9 100644 --- a/config.make +++ b/config.make @@ -23,6 +23,9 @@ # Enable GC of symbols: #SYMBOLGC=1 +# Use alternative C compiler +#C_COMPILER= + # Add additional C compiler options: #C_COMPILER_OPTIMIZATION_OPTIONS=... diff --git a/csc.scm b/csc.scm index 52f05546..2c32e381 100644 --- a/csc.scm +++ b/csc.scm @@ -676,7 +676,7 @@ EOF (set! rest (cons* "-optimize-level" "5" rest)) (t-options "-unsafe-libraries") (use-unsafe-libraries) - (when (memq (build-platform) '(mingw32 cygwin gnu)) + (when (memq (build-platform) '(mingw32 cygwin gnu clang)) (set! compile-options (cons* "-O3" "-fomit-frame-pointer" compile-options)) ) ] [(-d0) (set! rest (cons* "-debug-level" "0" rest))] @@ -723,7 +723,7 @@ EOF (use-unsafe-libraries) ] [(-rpath) (check s rest) - (when (eq? 'gnu (build-platform)) + (when (memq (build-platform) '(gnu clang)) (set! link-options (append link-options (list (string-append "-Wl,-R" (car rest))))) (set! rest (cdr rest)) ) ] [(-host) #f] @@ -876,8 +876,8 @@ EOF (set! target (quotewrap target-filename)) (unless (directory-exists? targetdir) (when verbose - (print "mkdir " targetdir) - (create-directory targetdir))) ) + (print "mkdir " targetdir)) + (create-directory targetdir))) (command (string-intersperse (cons* (cond (cpp-mode c++-linker) @@ -902,7 +902,7 @@ EOF target) ) (when (and gui (not deploy)) (rez target))) - (when deploy + (when (and deploy (not (or static static-libs))) (copy-libraries (if (and osx gui) (make-pathname targetdir "Contents/MacOS")Trap