~ chicken-core (chicken-5) 11544dd8c30262890073d7887a6a765365cf9368


commit 11544dd8c30262890073d7887a6a765365cf9368
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Mon May 7 11:08:34 2018 +0200
Commit:     Peter Bex <peter@more-magic.net>
CommitDate: Sat May 19 16:53:58 2018 +0200

    Enable local/inner dependencies, add custom build script to deps, if used
    
    Signed-off-by: Peter Bex <peter@more-magic.net>

diff --git a/egg-compile.scm b/egg-compile.scm
index f0803008..950c4ae5 100644
--- a/egg-compile.scm
+++ b/egg-compile.scm
@@ -289,7 +289,7 @@
         ((inline-file)
          (set! ifile (or (null? (cdr info)) (arg info 1 name?))))
         ((custom-build)
-         (set! cbuild (arg info 1 string?)))
+         (set! cbuild (->string (arg info 1 name?))))
         ((csc-options) 
          (set! opts (append opts (cdr info))))
         ((link-options)
@@ -479,7 +479,9 @@
            " -D compiling-static-extension"
            " -C -I" srcdir (arglist opts) 
            " " src " -o " out " : "
-           src " " (quotearg eggfile) #;(arglist dependencies))))
+           src " " (quotearg eggfile) " "
+           (if custom (quotearg cmd) "") " "
+           (filelist srcdir dependencies))))
 
 (define ((compile-dynamic-extension name #!key mode dependencies mode
                                     source (options '()) (link-options '()) 
@@ -512,7 +514,9 @@
            " -D compiling-extension -J -s"
            " -setup-mode -I " srcdir " -C -I" srcdir (arglist opts)
            (arglist link-options) " " src " -o " out " : "
-           src " " (quotearg eggfile) #;(arglist dependencies))))
+           src " " (quotearg eggfile) " "
+           (if custom (quotearg cmd) "") " "
+           (filelist srcdir dependencies))))
 
 (define ((compile-import-library name #!key dependencies mode
                                  (options '()) (link-options '())
@@ -534,7 +538,7 @@
            (if (eq? mode 'host) " -host" "")
            " -I " srcdir " -C -I" srcdir (arglist opts)
            (arglist link-options) " " src " -o " out " : "
-           src #;(arglist dependencies))))
+           src (filelist srcdir dependencies))))
 
 (define ((compile-dynamic-program name #!key dependencies source mode
                                      (options '()) (link-options '())
@@ -559,7 +563,9 @@
            (if (eq? mode 'host) " -host" "")
            " -I " srcdir " -C -I" srcdir (arglist opts)
            (arglist link-options) " " src " -o " out " : "
-           src " " (quotearg eggfile) #;(arglist dependencies))))
+           src " " (quotearg eggfile) " "
+           (if custom (quotearg cmd) "") " "
+           (filelist srcdir dependencies))))
 
 (define ((compile-static-program name #!key dependencies source
                                     (options '()) (link-options '())
@@ -584,7 +590,9 @@
            " -static -setup-mode -I " srcdir " -C -I" 
            srcdir (arglist opts)
            (arglist link-options) " " src " -o " out " : "
-           src " " (quotearg eggfile) #;(arglist dependencies))))
+           src " " (quotearg eggfile) " "
+           (if custom (quotearg cmd) "") " "
+           (filelist srcdir dependencies))))
 
 (define ((compile-generated-file name #!key dependencies source custom) 
          srcdir platform)
@@ -595,8 +603,8 @@
     (when custom
       (prepare-custom-command cmd platform))
     (print "\n" (slashify default-builder platform)
-           " " out " " cmd " : "
-           #;(arglist dependencies))))
+           " " out " " cmd " : " cmd " "
+           (filelist srcdir dependencies))))
 
 
 ;; installation operations
@@ -861,6 +869,9 @@ EOF
 (define (arglist lst)
   (apply conc (map (lambda (x) (conc " " (quotearg x))) lst)))
 
+(define (filelist dir lst)
+  (arglist (map (cut prefix dir <>) lst)))
+
 (define (shell-variable var platform)
   (case platform
     ((unix) (string-append "${" var "}"))
Trap