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.
This commit is contained in:
Ludovic Courtès 2015-06-19 11:34:16 +02:00
parent 9942e8030d
commit d0abf829a9
2 changed files with 27 additions and 0 deletions

View File

@ -497,6 +497,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(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++")

View File

@ -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)