From 2b1d708294f0aced5c991baed146e0ae4e7d63dd Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Fri, 25 Oct 2019 00:12:38 -0400 Subject: gnu: Fix make-gcc-libc. Until now the following wouldn't build: --8<---------------cut here---------------start------------->8--- (use-modules (gnu packages commencement) (gnu packages gcc) (gnu packages base)) (make-gcc-libc gcc-9 glibc-2.27) --8<---------------cut here---------------end--------------->8--- * gnu/packages/base.scm (make-gcc-libc)[phases]: Add environment variables to place the target libc on the system header search path. [make-flags]: Remove unncessary FLAGS_FOR_TARGET. [native-inputs]: Construct in a way that doesn't require emptying inputs. --- gnu/packages/base.scm | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'gnu/packages/base.scm') diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 4e80a2fadb..3a3360dc7a 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -981,18 +981,23 @@ (define-public (make-gcc-libc base-gcc libc) (substitute-keyword-arguments (ensure-keyword-arguments (package-arguments base-gcc) '(#:implicit-inputs? #f)) - ((#:make-flags flags) - `(let ((libc (assoc-ref %build-inputs "libc"))) - ;; FLAGS_FOR_TARGET are needed for the target libraries to receive - ;; the -Bxxx for the startfiles. - (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib") - ,flags))))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'treat-glibc-as-system-header + (lambda _ + (let ((libc (assoc-ref %build-inputs "libc"))) + ;; GCCs build processes requires that the libc + ;; we're building against is on the system header + ;; search path. + (for-each (lambda (var) + (setenv var (string-append libc "/include"))) + '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) + #t))))))) (native-inputs - `(("libc" ,libc) - ("libc:static" ,libc "static") - ,@(append (package-inputs base-gcc) - (fold alist-delete (%final-inputs) '("libc" "libc:static"))))) - (inputs '()))) + `(,@(package-native-inputs base-gcc) + ,@(append (fold alist-delete (%final-inputs) '("libc" "libc:static"))) + ("libc" ,libc) + ("libc:static" ,libc "static"))))) (define-public (make-glibc-locales glibc) (package -- cgit v1.2.3