From aaa968bbe01a57ceadf8d0c46c44e0d75d2f90cd Mon Sep 17 00:00:00 2001 From: Marek Benc Date: Thu, 5 Feb 2015 17:01:14 +0100 Subject: [PATCH] gnu: cross-base: Make it aware of non-Linux (ie. Hurd) systems. * gnu/packages/cross-base.scm (cross-gcc-arguments): Make 'set-cross-path aware of the Hurd. --- gnu/packages/cross-base.scm | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index f881096..8929f7f 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -151,21 +151,36 @@ GCC that does not target a libc; otherwise, target that libc." `(alist-cons-before 'configure 'set-cross-path (lambda* (#:key inputs #:allow-other-keys) - ;; Add the cross Linux headers to CROSS_CPATH, and remove + ;; Add the cross kernel headers to CROSS_CPATH, and remove ;; them from CPATH. (let ((libc (assoc-ref inputs "libc")) (linux (assoc-ref inputs - "libc/cross-linux-headers"))) + "libc/cross-linux-headers")) + (mach (assoc-ref inputs + "libc/cross-gnumach-headers")) + (hurd (assoc-ref inputs + "libc/cross-hurd-headers")) + (hurd-minimal (assoc-ref inputs + "libc/cross-hurd-minimal"))) (define (cross? x) ;; Return #t if X is a cross-libc or cross Linux. (or (string-prefix? libc x) - (string-prefix? linux x))) + (if linux (string-prefix? linux x) #f) + (if hurd (string-prefix? hurd x) #f) + (if mach (string-prefix? mach x) #f) + (if hurd-minimal (string-prefix? hurd-minimal x) #f))) (setenv "CROSS_CPATH" - (string-append libc "/include:" - linux "/include")) + (string-append libc "/include" + (if linux + (string-append ":" linux "/include") "") + (if hurd + (string-append ":" hurd "/include" + ":" mach "/include") ""))) (setenv "CROSS_LIBRARY_PATH" - (string-append libc "/lib")) + (string-append libc "/lib" + (if hurd-minimal + (string-append ":" hurd-minimal "/lib") ""))) (let ((cpath (search-path-as-string->list (getenv "CPATH"))) -- 2.3.0