(zilch lang ninja nixpkgs): Properly handle .so SHSYM
Change-Id: I6a6a696428c5bfcee09a65d45939a3aa145afdad
This commit is contained in:
parent
86e07faa8a
commit
0036f464ac
1 changed files with 8 additions and 2 deletions
|
|
@ -219,6 +219,10 @@
|
|||
|
||||
(values initial-drv configured-drv placeholders edge-ref defaults export-depfile rewrites))
|
||||
|
||||
(define (get-shsym-path fname)
|
||||
(define split (string-contains-right fname "/"))
|
||||
(and split (string-append fname ".p/" (string-copy fname (+ split 1)) ".symbols")))
|
||||
|
||||
(define (process-secondary-root parent-conf secondary-root)
|
||||
(define conf (cdr secondary-root))
|
||||
(define drv-name (car secondary-root))
|
||||
|
|
@ -242,8 +246,10 @@
|
|||
(define (transform-obj obj)
|
||||
(cond
|
||||
((and (pair? obj) (eq? (car obj) 'marker))
|
||||
(let ((obj-edge (edge-ref (cdr obj))))
|
||||
(or (and (cdr obj-edge) (built-edge-lib-placeholder (cdr obj-edge)))
|
||||
(let ((obj-edge (edge-ref (cdr obj)))
|
||||
(alt-obj-edge (and (string-suffix? ".so" (cdr obj)) (edge-ref (get-shsym-path (cdr obj)) #t))))
|
||||
(or (and alt-obj-edge (cdr alt-obj-edge) (built-edge-lib-placeholder (cdr alt-obj-edge)) (cdr (force (built-edge-lib-placeholder (cdr alt-obj-edge)))))
|
||||
(and (cdr obj-edge) (built-edge-lib-placeholder (cdr obj-edge)) (cdr (force (built-edge-lib-placeholder (cdr obj-edge)))))
|
||||
(car obj-edge))))
|
||||
(else obj)))
|
||||
(define extra-paths '())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue