From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: [PATCH 07/11] gnu: cross-base: Add cross-libtool. Date: Sun, 8 May 2016 22:42:45 +0200 Message-ID: <1462740169-15029-8-git-send-email-janneke@gnu.org> References: <1462740169-15029-1-git-send-email-janneke@gnu.org> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57158) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1azVXf-0004L2-1a for guix-devel@gnu.org; Sun, 08 May 2016 16:43:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1azVXc-0008FU-9u for guix-devel@gnu.org; Sun, 08 May 2016 16:43:05 -0400 In-Reply-To: <1462740169-15029-1-git-send-email-janneke@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * gnu/packages/cross-base.scm (cross-libtool): New function. --- gnu/packages/cross-base.scm | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index a7227d0..011f58d 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -22,6 +22,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages autotools) #:use-module (gnu packages bash) #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) @@ -40,6 +41,7 @@ #:use-module (ice-9 match) #:export (cross-binutils cross-libc + cross-libtool cross-gcc cross-newlib?)) @@ -449,6 +451,50 @@ XBINUTILS and the cross tool chain." ,@(package-inputs glibc) ;FIXME: static-bash ,@(package-native-inputs glibc)))))))) +(define* (cross-libtool target + #:optional + (xgcc (cross-gcc target + (cross-binutils target) + (cross-libc target))) + (xbinutils (cross-binutils target)) + (xlibc (cross-libc target))) + (package + (inherit libtool) + (name (string-append "cross-libtool-" target)) + (inputs `(("xlibc" ,xlibc))) + (native-inputs `(,@`(("xgcc" ,xgcc) + ("xbinutils" ,xbinutils) + ("xlibc" ,xlibc)) + ,@(package-native-inputs libtool))) + (arguments + `(;; Libltdl is provided as a separate package, so don't install it here. + #:configure-flags + `("--disable-ltdl-install" + ,(string-append "--host=" ,target) + ,(string-append "--target=" ,target) + ,(string-append "--program-prefix=" ,target "-") + ,(string-append "CC=" ,target "-gcc")) + #:tests? #f + #:phases (modify-phases %standard-phases + (add-before 'configure 'setenv + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((xgcc (assoc-ref inputs "xgcc"))) + (setenv "CPP" (string-append xgcc "/bin/" + ,target "-cpp"))) + (for-each (lambda (var) + (and=> (getenv var) + (lambda (value) + (let ((cross + (string-append "CROSS_" var))) + (setenv cross value)) + (unsetenv var)))) + '("C_INCLUDE_PATH" + "CPLUS_INCLUDE_PATH" + "OBJC_INCLUDE_PATH" + "OBJCPLUS_INCLUDE_PATH" + "LIBRARY_PATH")) + #t))))))) + (define (native-libc target) (if (mingw-target? target) mingw-w64 -- 2.7.3