From fc9dbf41311d99d0fd8befc789ea7c0e35911890 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 5 Oct 2018 22:58:43 -0500 Subject: llvm: Build with RTTI by default. Increases size of llvm@6 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-3.8-with-rtti): Remove variable. (llvm)[arguments]: Add '-DLLVM_REQUIRES_RTTI=1' to #:configure-flags. * gnu/packages/audio.scm (faust-2)[native-inputs]: 'llvm-3.8-with-rtti' -> 'llvm-3.8'. --- gnu/packages/llvm.scm | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'gnu/packages/llvm.scm') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index a809180e29..beca92650e 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. @@ -279,18 +280,6 @@ code analysis tools.") (base32 "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))))) -;; This is for Faust 2 -(define-public llvm-3.8-with-rtti - (package (inherit llvm-3.8) - (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-public clang-runtime-3.8 (clang-runtime-from-llvm llvm-3.8 -- cgit v1.2.3 From f8cba3ff4fc6aed0c539700aa47b6e8f4c25c34d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 17 Nov 2018 22:54:03 +0100 Subject: gnu: mesa: Stay on RTTI-less LLVM. * gnu/packages/llvm.scm (llvm-without-rtti): New public variable. * gnu/packages/gl.scm (mesa)[inputs]: Use that instead of LLVM. --- gnu/packages/llvm.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/llvm.scm') diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index beca92650e..d237a05a84 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -91,6 +91,26 @@ languages is in development. The compiler infrastructure includes mirror sets of programming tools as well as libraries with equivalent functionality.") (license license:ncsa))) +;; FIXME: This package is here to prevent many rebuilds on x86_64 and i686 +;; from commit fc9dbf41311d99d0fd8befc789ea7c0e35911890. Update users of +;; this in the next rebuild cycle. +(define-public llvm-without-rtti + (package + (inherit llvm) + (arguments + `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DBUILD_SHARED_LIBS:BOOL=TRUE" + "-DLLVM_ENABLE_FFI:BOOL=TRUE" + "-DLLVM_INSTALL_UTILS=ON") + #:build-type "Release" + #:phases (modify-phases %standard-phases + (add-before 'build 'shared-lib-workaround + (lambda _ + (setenv "LD_LIBRARY_PATH" + (string-append (getcwd) "/lib")) + #t))))))) + (define* (clang-runtime-from-llvm llvm hash #:optional (patches '())) (package -- cgit v1.2.3