~ chicken-core (chicken-5) 9a7d2ea3cf2708af43f8adadbb1bc6334b56f897
commit 9a7d2ea3cf2708af43f8adadbb1bc6334b56f897
Author: LemonBoy <thatlemon@gmail.com>
AuthorDate: Thu May 25 15:53:30 2017 +0200
Commit: Evan Hanson <evhan@foldling.org>
CommitDate: Sun May 28 10:02:33 2017 +1200
Respect install-name when specified.
Do this for 'program' and 'extension' components.
Signed-off-by: Peter Bex <peter@more-magic.net>
Signed-off-by: Evan Hanson <evhan@foldling.org>
diff --git a/egg-compile.scm b/egg-compile.scm
index 4d7332c0..7ba5f76e 100644
--- a/egg-compile.scm
+++ b/egg-compile.scm
@@ -143,15 +143,17 @@
(oname #f)
(opts '()))
(for-each compile-extension/program (cddr info))
- (let ((dest (destination-repository mode #t)))
- (when (eq? #t tfile) (set! tfile target))
- (when (eq? #t ifile) (set! ifile target))
+ (let ((dest (destination-repository mode #t))
+ ;; Respect install-name if specified
+ (rtarget (or oname target)))
+ (when (eq? #t tfile) (set! tfile rtarget))
+ (when (eq? #t ifile) (set! ifile rtarget))
(addfiles
(if (memq 'static link)
- (list (conc dest "/" target objext)
- (conc dest "/" target +link-file-extension+))
+ (list (conc dest "/" rtarget objext)
+ (conc dest "/" rtarget +link-file-extension+))
'())
- (if (memq 'dynamic link) (list (conc dest "/" target ".so")) '())
+ (if (memq 'dynamic link) (list (conc dest "/" rtarget ".so")) '())
(if tfile
(list (conc dest "/" tfile ".types"))
'())
@@ -159,8 +161,8 @@
(list (conc dest "/" ifile ".inline"))
'())
(list (if (uses-compiled-import-library? mode)
- (conc dest "/" target ".import.so")
- (conc dest "/" target ".import.scm")))))
+ (conc dest "/" rtarget ".import.so")
+ (conc dest "/" rtarget ".import.scm")))))
(set! exts
(cons (list target dependencies: deps source: src options: opts
link-options: lopts linkage: link custom: cbuild
@@ -235,13 +237,15 @@
(for-each compile-extension/program (cddr info))
(let ((dest (if (eq? mode 'target)
default-bindir ; XXX wrong!
- host-bindir)))
- (addfiles (list (conc dest "/" target exeext))))
- (set! prgs
- (cons (list target dependencies: deps source: src options: opts
- link-options: lopts linkage: link custom: cbuild
- mode: mode output-file: (or oname target))
- prgs))))))
+ host-bindir))
+ ;; Respect install-name if specified
+ (rtarget (or oname target)))
+ (addfiles (list (conc dest "/" rtarget exeext)))
+ (set! prgs
+ (cons (list target dependencies: deps source: src options: opts
+ link-options: lopts linkage: link custom: cbuild
+ mode: mode output-file: rtarget)
+ prgs)))))))
(define (compile-extension/program info)
(case (car info)
((target)
Trap