aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/gcc.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index c81d700b69..39e99c1228 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -373,6 +373,41 @@ using compilers other than GCC."
(define-public libstdc++-4.9
(make-libstdc++ gcc-4.9))
+(define (make-libiberty gcc)
+ "Return a libiberty package based on GCC."
+ (package
+ (inherit gcc)
+ (name "libiberty")
+ (arguments
+ `(#:out-of-source? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'chdir
+ (lambda _
+ (chdir "libiberty")
+ #t))
+ (replace
+ 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib/"))
+ (include (string-append out "/include/")))
+ (mkdir-p lib)
+ (mkdir-p include)
+ (copy-file "libiberty.a"
+ (string-append lib "libiberty.a"))
+ (copy-file "../include/libiberty.h"
+ (string-append include "libiberty.h"))
+ #t))))))
+ (inputs '())
+ (outputs '("out"))
+ (native-inputs '())
+ (propagated-inputs '())
+ (synopsis "Collection of subroutines used by various GNU programs")))
+
+(define-public libiberty
+ (make-libiberty gcc))
+
(define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
"Return a custom version of GCC that supports LANGUAGES."
(package (inherit gcc)