~ 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-options
 
Trap