~ chicken-core (chicken-5) 4d2c536e5caea00d3fccecdb790335fc0830c072
commit 4d2c536e5caea00d3fccecdb790335fc0830c072 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Wed Apr 5 16:55:50 2017 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Wed Apr 5 16:55:50 2017 +0200 compile with default optimization options, unless given in the .egg file diff --git a/egg-compile.scm b/egg-compile.scm index 02dfb8c6..b93e394f 100644 --- a/egg-compile.scm +++ b/egg-compile.scm @@ -32,6 +32,9 @@ (define default-dynamic-extension-link-options '()) (define default-extension-linkage '(static dynamic)) (define default-program-linkage '(dynamic)) +(define default-static-compilation-options '("-O2" "-d1")) +(define default-dynamic-compilation-options '("-O2" "-d1")) +(define default-import-library-compilation-options '("-O2" "-d0")) (define +unix-executable-extension+ "") (define +windows-executable-extension+ ".exe") @@ -374,6 +377,9 @@ default-csc)) (sname (prefix srcdir name)) (ssname (and source (prefix srcdir source))) + (opts (if (null? options) + default-static-compilation-options + options)) (out (quotearg (target-file (conc sname (object-extension platform)) mode))) @@ -383,7 +389,7 @@ " -setup-mode -static -I " srcdir " -D compiling-extension -c -J -unit " name " -D compiling-static-extension" - " -C -I" srcdir (arglist options) + " -C -I" srcdir (arglist opts) " " src " -o " out " : " src #;(arglist dependencies)))) @@ -394,13 +400,16 @@ (let* ((cmd (or (and custom (prefix-custom-command custom)) default-csc)) (sname (prefix srcdir name)) + (opts (if (null? options) + default-dynamic-compilation-options + options)) (ssname (and source (prefix srcdir source))) (out (quotearg (target-file (conc sname ".so") mode))) (src (quotearg (or ssname (conc sname ".scm"))))) (print "\n" (slashify default-builder platform) " " out " " cmd (if keep-generated-files " -k" "") " -D compiling-extension -J -s" - " -setup-mode -I " srcdir " -C -I" srcdir (arglist options) + " -setup-mode -I " srcdir " -C -I" srcdir (arglist opts) (arglist link-options) " " src " -o " out " : " src #;(arglist dependencies)))) @@ -412,12 +421,15 @@ default-csc)) (sname (prefix srcdir name)) (ssname (and source (prefix srcdir source))) + (opts (if (null? options) + default-import-library-compilation-options + options)) (out (quotearg (target-file (conc sname ".import.so") mode))) (src (quotearg (or source (conc sname ".import.scm"))))) (print "\n" (slashify default-builder platform) " " out " " cmd (if keep-generated-files " -k" "") " -setup-mode -s" - " -I " srcdir " -C -I" srcdir (arglist options) + " -I " srcdir " -C -I" srcdir (arglist opts) (arglist link-options) " " src " -o " out " : " src #;(arglist dependencies)))) @@ -429,6 +441,9 @@ default-csc)) (sname (prefix srcdir name)) (ssname (and source (prefix srcdir source))) + (opts (if (null? options) + default-dynamic-compilation-options + options)) (out (quotearg (target-file (conc sname (executable-extension platform)) mode))) @@ -436,7 +451,7 @@ (print "\n" (slashify default-builder platform) " " out " " cmd (if keep-generated-files " -k" "") " -setup-mode" - " -I " srcdir " -C -I" srcdir (arglist options) + " -I " srcdir " -C -I" srcdir (arglist opts) (arglist link-options) " " src " -o " out " : " src #;(arglist dependencies)))) @@ -448,6 +463,9 @@ default-csc)) (sname (prefix srcdir name)) (ssname (and source (prefix srcdir source))) + (opts (if (null? options) + default-static-compilation-options + options)) (out (quotearg (target-file (conc sname (executable-extension platform)) mode))) @@ -455,7 +473,7 @@ (print "\n" (slashify default-builder platform) " " out " " cmd (if keep-generated-files " -k" "") " -static -setup-mode -I " srcdir " -C -I" - srcdir (arglist options) + srcdir (arglist opts) (arglist link-options) " " src " -o " out " : " src #;(arglist dependencies)))) diff --git a/manual/Extensions b/manual/Extensions index 4e3b8962..679bfd93 100644 --- a/manual/Extensions +++ b/manual/Extensions @@ -318,7 +318,10 @@ usually contains a shell command and thus may be platform sensitive. [egg property] (csc-options OPTION ...) Specifies additional compiler options for {{csc}} that should be -used when building this component. +used when building this component. If this property is not +given, the default options are used, which are {{-O2 -d1}} +for extensions and programs and {{-O2 -d0}} for import +libraries. ====== link-optionsTrap