From 90e3dc98e1657964041f576b785524816394b03a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 5 Oct 2018 22:58:43 -0500 Subject: [PATCH 1/4] llvm: Build with RTTI by default. Increases size of address@hidden by 2.5MiB (2.5%), but saves building specialized llvm's with rtti enabled for packages that require RTTI when linking with the llvm libraries. * gnu/packages/llvm.scm (llvm-with-rtti): Remove variable. (llvm)[arguments]: Add '-DLLVM_REQUIRES_RTTI=1' to #:configure-flags. * gnu/packages/audio.scm (faust-2)[native-inputs]: 'llvm-with-rtti' -> 'llvm'. --- gnu/packages/audio.scm | 2 +- gnu/packages/llvm.scm | 14 ++------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index ee18b0022..389bf429d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1194,7 +1194,7 @@ PS, and DAB+.") `(list (string-append "prefix=" (assoc-ref %outputs "out")) "world")))) (native-inputs - `(("llvm" ,llvm-with-rtti) + `(("llvm" ,llvm) ("which" ,which) ("xxd" ,xxd) ("ctags" ,emacs-minimal) ; for ctags diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index d0791d00c..beca92650 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2016 Eric Bavier +;;; Copyright © 2014, 2016, 2018 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Dennis Mungai @@ -65,6 +65,7 @@ "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" "-DBUILD_SHARED_LIBS:BOOL=TRUE" "-DLLVM_ENABLE_FFI:BOOL=TRUE" + "-DLLVM_REQUIRES_RTTI=1" ; For some third-party utilities "-DLLVM_INSTALL_UTILS=ON") ; Needed for rustc. ;; Don't use '-g' during the build, to save space. @@ -90,17 +91,6 @@ languages is in development. The compiler infrastructure includes mirror sets of programming tools as well as libraries with equivalent functionality.") (license license:ncsa))) -(define-public llvm-with-rtti - (package (inherit llvm) - (name "llvm-with-rtti") - (arguments - (substitute-keyword-arguments (package-arguments llvm) - ((#:configure-flags flags) - `(append '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" - "-DLLVM_REQUIRES_RTTI=1") - ,flags)))))) - (define* (clang-runtime-from-llvm llvm hash #:optional (patches '())) (package -- 2.19.1