From 4dc55bfe59bf60c4f55a7e54da2f5ee17589ff9e 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 | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index e051756..1ebe862 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -129,23 +129,34 @@ may be either a libc package or #f.)" `(alist-cons-before 'configure 'set-cross-path (lambda* (#:key inputs #:allow-other-keys) - ;; Add the cross-Linux headers to CROSS_CPATH, and remove them + ;; 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 a cross-kernel. (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.2.1