[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/04: gnu: Add libstdc++ as a standalone package.
From: |
Ludovic Courtès |
Subject: |
01/04: gnu: Add libstdc++ as a standalone package. |
Date: |
Fri, 19 Jun 2015 15:24:15 +0000 |
civodul pushed a commit to branch master
in repository guix.
commit d0abf829a95b5a4501eae452e03ca8b1d47b0b16
Author: Ludovic Courtès <address@hidden>
Date: Fri Jun 19 11:34:16 2015 +0200
gnu: Add libstdc++ as a standalone package.
* gnu/packages/gcc.scm (make-libstdc++): New procedure.
(libstdc++-4.9): New variable.
* gnu/packages/commencement.scm (libstdc++): Add TODO comment.
---
gnu/packages/commencement.scm | 1 +
gnu/packages/gcc.scm | 26 ++++++++++++++++++++++++++
2 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index a5402f0..9cabaa0 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -497,6 +497,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a
\"address@hidden"~%"
(define libstdc++
;; Intermediate libstdc++ that will allow us to build the final GCC
;; (remember that GCC-BOOT0 cannot build libstdc++.)
+ ;; TODO: Write in terms of 'make-libstdc++'.
(package-with-bootstrap-guile
(package (inherit gcc-4.8)
(name "libstdc++")
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index b652521..73e8ae9 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -347,6 +347,32 @@ Go. It also includes runtime support libraries for these
languages.")
'("gcc-arm-link-spec-fix.patch"
"gcc-5.0-libvtv-runpath.patch")))))))
+(define-public (make-libstdc++ gcc)
+ "Return a libstdc++ package based on GCC. The primary use case is when
+using compilers other than GCC."
+ (package
+ (inherit gcc)
+ (name "libstdc++")
+ (arguments
+ `(#:out-of-source? #t
+ #:phases (alist-cons-before
+ 'configure 'chdir
+ (lambda _
+ (chdir "libstdc++-v3"))
+ %standard-phases)
+ #:configure-flags `("--disable-libstdcxx-pch"
+ ,(string-append "--with-gxx-include-dir="
+ (assoc-ref %outputs "out")
+ "/include"))))
+ (outputs '("out" "debug"))
+ (inputs '())
+ (native-inputs '())
+ (propagated-inputs '())
+ (synopsis "GNU C++ standard library")))
+
+(define-public libstdc++-4.9
+ (make-libstdc++ gcc-4.9))
+
(define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
"Return a custom version of GCC that supports LANGUAGES."
(package (inherit gcc)