[arch-commits] Commit in llvm/trunk (PKGBUILD llvm-3.5.0-fix-cmake-llvm-exports.patch)

Evangelos Foutras foutrelis at archlinux.org
Wed Sep 10 12:31:50 UTC 2014


    Date: Wednesday, September 10, 2014 @ 14:31:50
  Author: foutrelis
Revision: 221382

upgpkg: llvm 3.5.0-2

Add upstream fix for broken LLVMExports.cmake.

Added:
  llvm/trunk/llvm-3.5.0-fix-cmake-llvm-exports.patch
Modified:
  llvm/trunk/PKGBUILD

-----------------------------------------+
 PKGBUILD                                |    8 +++++-
 llvm-3.5.0-fix-cmake-llvm-exports.patch |   39 ++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-09-10 10:54:22 UTC (rev 221381)
+++ PKGBUILD	2014-09-10 12:31:50 UTC (rev 221382)
@@ -12,7 +12,7 @@
 pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'clang' 'clang-analyzer'
          'clang-tools-extra')
 pkgver=3.5.0
-pkgrel=1
+pkgrel=2
 arch=('i686' 'x86_64')
 url="http://llvm.org/"
 license=('custom:University of Illinois/NCSA Open Source License')
@@ -23,6 +23,7 @@
         http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.xz{,.sig}
         http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig}
         llvm-3.5.0-force-link-pass.o.patch
+        llvm-3.5.0-fix-cmake-llvm-exports.patch
         llvm-Config-config.h
         llvm-Config-llvm-config.h)
 sha256sums=('28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03'
@@ -34,6 +35,7 @@
             'a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136'
             'SKIP'
             '5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19'
+            '841a153d0e9d2d196ea5318388ff295e69c41547eb73b24edf92a1b2cc3cccdd'
             '312574e655f9a87784ca416949c505c452b819fad3061f2cde8aced6540a19a3'
             '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48')
 
@@ -59,6 +61,10 @@
   # Fix build with GCC 4.9 (patch from Debian)
   # http://llvm.org/bugs/show_bug.cgi?id=20067
   patch -Np1 -i "$srcdir/llvm-3.5.0-force-link-pass.o.patch"
+
+  # Fix generation of broken LLVMExports.cmake file
+  # http://llvm.org/bugs/show_bug.cgi?id=20884
+  patch -Np0 -i "$srcdir/llvm-3.5.0-fix-cmake-llvm-exports.patch"
 }
 
 build() {

Added: llvm-3.5.0-fix-cmake-llvm-exports.patch
===================================================================
--- llvm-3.5.0-fix-cmake-llvm-exports.patch	                        (rev 0)
+++ llvm-3.5.0-fix-cmake-llvm-exports.patch	2014-09-10 12:31:50 UTC (rev 221382)
@@ -0,0 +1,39 @@
+Index: cmake/modules/Makefile
+===================================================================
+--- cmake/modules/Makefile	(revision 217483)
++++ cmake/modules/Makefile	(revision 217484)
+@@ -33,6 +33,16 @@
+ 	LLVM_ENABLE_RTTI := 0
+ endif
+ 
++LLVM_LIBS_TO_EXPORT := $(subst -l,,$(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS) || echo Error))
++
++ifeq ($(LLVM_LIBS_TO_EXPORT),Error)
++$(error llvm-config --libs failed)
++endif
++
++ifndef LLVM_LIBS_TO_EXPORT
++$(error LLVM_LIBS_TO_EXPORT cannot be empty)
++endif
++
+ OBJMODS := LLVMConfig.cmake LLVMConfigVersion.cmake LLVMExports.cmake
+ 
+ $(PROJ_OBJ_DIR)/LLVMConfig.cmake: LLVMConfig.cmake.in $(LLVMBuildCMakeFrag)
+@@ -45,7 +55,7 @@
+ 	  -e 's/@LLVM_VERSION_PATCH@/'"$(LLVM_VERSION_PATCH)"'/' \
+ 	  -e 's/@PACKAGE_VERSION@/'"$(LLVMVersion)"'/' \
+ 	  -e 's/@LLVM_COMMON_DEPENDS@//' \
+-	  -e 's/@LLVM_AVAILABLE_LIBS@/'"$(subst -l,,$(LLVMConfigLibs))"'/' \
++	  -e 's/@LLVM_AVAILABLE_LIBS@/'"$(LLVM_LIBS_TO_EXPORT)"'/' \
+ 	  -e 's/@LLVM_ALL_TARGETS@/'"$(ALL_TARGETS)"'/' \
+ 	  -e 's/@LLVM_TARGETS_TO_BUILD@/'"$(TARGETS_TO_BUILD)"'/' \
+ 	  -e 's/@LLVM_TARGETS_WITH_JIT@/'"$(TARGETS_WITH_JIT)"'/' \
+@@ -83,7 +93,7 @@
+ 	$(Echo) 'Generating LLVM CMake target exports file'
+ 	$(Verb) ( \
+ 	  echo '# LLVM CMake target exports.  Do not include directly.' && \
+-	  for lib in $(subst -l,,$(LLVMConfigLibs)); do \
++	  for lib in $(LLVM_LIBS_TO_EXPORT); do \
+ 	    echo 'add_library('"$$lib"' STATIC IMPORTED)' && \
+ 	    echo 'set_property(TARGET '"$$lib"' PROPERTY IMPORTED_LOCATION "'"$(PROJ_libdir)/lib$$lib.a"'")' ; \
+ 	  done && \




More information about the arch-commits mailing list