From 5a48a066ab40435b050c5601038343ca2ccb834a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 28 Apr 2018 22:27:49 +0200 Subject: gnu: gcc-toolchain: Add "static" output. This allows the use of 'gcc-toolchain' to create statically-linked executables (requires libc.a.) * gnu/packages/commencement.scm (make-gcc-toolchain): Add "static" output. Add "libc-static" to 'inputs'. Add call to 'union-build' for the "static" output. --- gnu/packages/commencement.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index fe9fbebcc2..1026ee8929 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1026,7 +1026,10 @@ (define (make-gcc-toolchain gcc) (union-build (assoc-ref %outputs "debug") (list (assoc-ref %build-inputs - "libc-debug"))))))) + "libc-debug"))) + (union-build (assoc-ref %outputs "static") + (list (assoc-ref %build-inputs + "libc-static"))))))) (native-search-paths (package-native-search-paths gcc)) (search-paths (package-search-paths gcc)) @@ -1038,7 +1041,7 @@ (define (make-gcc-toolchain gcc) be installed in user profiles. This includes GCC, as well as libc (headers and binaries, plus debugging symbols in the 'debug' output), and Binutils.") (home-page "https://gcc.gnu.org/") - (outputs '("out" "debug")) + (outputs '("out" "debug" "static")) ;; The main raison d'être of this "meta-package" is (1) to conveniently ;; install everything that we need, and (2) to make sure ld-wrapper comes @@ -1047,7 +1050,8 @@ (define (make-gcc-toolchain gcc) ("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper"))) ("binutils" ,binutils-final) ("libc" ,glibc-final) - ("libc-debug" ,glibc-final "debug"))))) + ("libc-debug" ,glibc-final "debug") + ("libc-static" ,glibc-final "static"))))) (define-public gcc-toolchain-4.8 (make-gcc-toolchain gcc-4.8)) -- cgit v1.2.3