summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-04-28 22:27:49 +0200
committerLudovic Courtès <ludo@gnu.org>2018-04-28 22:33:47 +0200
commit5a48a066ab40435b050c5601038343ca2ccb834a (patch)
treebc09528a032473e1dec0a82df3a76e74cd152555 /gnu
parent48167ccd7534126c74d85aedced29331ee2f1880 (diff)
downloadguix-5a48a066ab40435b050c5601038343ca2ccb834a.tar.gz
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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/commencement.scm10
1 files 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 @@ COREUTILS-FINAL vs. COREUTILS, etc."
 
                      (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 @@ COREUTILS-FINAL vs. COREUTILS, etc."
 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 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
               ("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))