ld-wrapper: Add '-rpath' for arguments such as 'libfoo.so.5.3'.
Suggested by Andreas Enge <andreas@enge.fr> at <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00810.html>. CMake command lines appear to refer to such file names. * gnu/packages/ld-wrapper.scm (shared-library?): New procedure. (library-files-linked): Use it.
This commit is contained in:
parent
9cca706c2e
commit
f307947ecc
|
@ -104,6 +104,15 @@ exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "
|
||||||
(< depth %max-symlink-depth)
|
(< depth %max-symlink-depth)
|
||||||
(loop (readlink file) (+ 1 depth))))))))
|
(loop (readlink file) (+ 1 depth))))))))
|
||||||
|
|
||||||
|
(define (shared-library? file)
|
||||||
|
;; Return #t when FILE denotes a shared library.
|
||||||
|
(or (string-suffix? ".so" file)
|
||||||
|
(let ((index (string-contains file ".so.")))
|
||||||
|
;; Since we cannot use regexps during bootstrap, roll our own.
|
||||||
|
(and index
|
||||||
|
(string-every (char-set-union (char-set #\.) char-set:digit)
|
||||||
|
(string-drop file (+ index 3)))))))
|
||||||
|
|
||||||
(define (library-files-linked args)
|
(define (library-files-linked args)
|
||||||
;; Return the file names of shared libraries explicitly linked against via
|
;; Return the file names of shared libraries explicitly linked against via
|
||||||
;; `-l' or with an absolute file name in ARGS.
|
;; `-l' or with an absolute file name in ARGS.
|
||||||
|
@ -125,7 +134,7 @@ exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "
|
||||||
(cons full library-files))
|
(cons full library-files))
|
||||||
result)))
|
result)))
|
||||||
((and (string-prefix? %store-directory argument)
|
((and (string-prefix? %store-directory argument)
|
||||||
(string-suffix? ".so" argument)) ;add library
|
(shared-library? argument)) ;add library
|
||||||
(cons library-path
|
(cons library-path
|
||||||
(cons argument library-files)))
|
(cons argument library-files)))
|
||||||
(else
|
(else
|
||||||
|
|
Loading…
Reference in New Issue