Thu Mar 17 02:53:59 2016 UTC ()
fix wrong llvm-config --libs output. Should return -lLLVM-3.8. Bump.


(tnn)
diff -r1.9 -r1.10 pkgsrc/lang/libLLVM/Makefile
diff -r1.6 -r1.7 pkgsrc/lang/libLLVM/PLIST
diff -r1.2 -r1.3 pkgsrc/lang/libLLVM/distinfo
diff -r0 -r1.1 pkgsrc/lang/libLLVM/patches/patch-tools_llvm-config_llvm-config.cpp

cvs diff -r1.9 -r1.10 pkgsrc/lang/libLLVM/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/libLLVM/Makefile 2016/03/08 21:50:29 1.9
+++ pkgsrc/lang/libLLVM/Makefile 2016/03/17 02:53:59 1.10
@@ -1,56 +1,55 @@ @@ -1,56 +1,55 @@
1# $NetBSD: Makefile,v 1.9 2016/03/08 21:50:29 tnn Exp $ 1# $NetBSD: Makefile,v 1.10 2016/03/17 02:53:59 tnn Exp $
2 2
3DISTNAME= llvm-3.8.0.src 3DISTNAME= llvm-3.8.0.src
 4PKGREVISION= 1
4PKGNAME= ${DISTNAME:S/llvm/libLLVM/:S/.src//} 5PKGNAME= ${DISTNAME:S/llvm/libLLVM/:S/.src//}
5CATEGORIES= lang devel 6CATEGORIES= lang devel
6MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/ 7MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
7EXTRACT_SUFX= .tar.xz 8EXTRACT_SUFX= .tar.xz
8 9
9MAINTAINER= pkgsrc-users@NetBSD.org 10MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://llvm.org/ 11HOMEPAGE= http://llvm.org/
11COMMENT= Low Level Virtual Machine shared library 12COMMENT= Low Level Virtual Machine shared library
12LICENSE= modified-bsd 13LICENSE= modified-bsd
13 14
14USE_LANGUAGES= c c++ 15USE_LANGUAGES= c c++
15USE_CMAKE= yes 16USE_CMAKE= yes
16GCC_REQD+= 4.8 17GCC_REQD+= 4.8
17PYTHON_FOR_BUILD_ONLY= yes 18PYTHON_FOR_BUILD_ONLY= yes
18 19
19CONFIGURE_DIRS= ${WRKDIR}/build 20CONFIGURE_DIRS= ${WRKDIR}/build
20CMAKE_ARG_PATH= ${WRKSRC} 21CMAKE_ARG_PATH= ${WRKSRC}
21 22
22CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release 23CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
23CMAKE_ARGS+= -DCMAKE_C_COMPILER=gcc 24CMAKE_ARGS+= -DCMAKE_C_COMPILER=gcc
24CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=g++ 25CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=g++
25CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=On 26CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=ON
26 27
27.for tool in bugpoint bugpoint_passes dsymutil llc lli llvm_ar \ 28.for tool in bugpoint bugpoint_passes dsymutil llc lli llvm_ar \
28 llvm_as llvm_bcanalyzer llvm_c_test llvm_cov llvm_cxxdump \ 29 llvm_as llvm_bcanalyzer llvm_c_test llvm_cov llvm_cxxdump \
29 llvm_diff llvm_dis llvm_dwarfdump llvm_dwp llvm_extract llvm_go \ 30 llvm_diff llvm_dis llvm_dwarfdump llvm_dwp llvm_extract llvm_go \
30 llvm_jitlistener llvm_link llvm_lto llvm_mc llvm_mcmarkup \ 31 llvm_jitlistener llvm_link llvm_lto llvm_mc llvm_mcmarkup \
31 llvm_nm llvm_objdump llvm_pdbdump llvm_profdata llvm_readobj \ 32 llvm_nm llvm_objdump llvm_pdbdump llvm_profdata llvm_readobj \
32 llvm_rtdyld llvm_size llvm_split llvm_stress llvm_symbolizer \ 33 llvm_rtdyld llvm_size llvm_split llvm_stress llvm_symbolizer \
33 lto obj2yaml opt sancov verify_uselistorder yaml2obj 34 lto obj2yaml opt sancov verify_uselistorder yaml2obj
34CMAKE_ARGS+= -DLLVM_TOOL_${tool:tu}_BUILD=OFF 35CMAKE_ARGS+= -DLLVM_TOOL_${tool:tu}_BUILD=OFF
35.endfor 36.endfor
36 37
37SUBST_CLASSES+= fix-cnf 38SUBST_CLASSES+= fix-cnf
38SUBST_STAGE.fix-cnf= pre-configure 39SUBST_STAGE.fix-cnf= pre-configure
39SUBST_MESSAGE.fix-cnf= Fixing llvm-config paths 40SUBST_MESSAGE.fix-cnf= Fixing llvm-config paths
40SUBST_FILES.fix-cnf= tools/llvm-config/llvm-config.cpp 41SUBST_FILES.fix-cnf= tools/llvm-config/llvm-config.cpp
41SUBST_SED.fix-cnf= -e 's|ActivePrefix + "/include"|"${PREFIX}/include/libLLVM"|g' 42SUBST_VARS.fix-cnf= PREFIX LLVM_MAJOR_MINOR COMPILER_RPATH_FLAG
42SUBST_SED.fix-cnf+= -e 's|ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX|"${PREFIX}/lib/libLLVM"|g' 
43SUBST_SED.fix-cnf+= -e 's|"-L" << ActiveLibDir|"${COMPILER_RPATH_FLAG}" << ActiveLibDir << " " << &|g' 
44 43
45CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm 44CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
46 45
47# XXX perl is not added as a tool as it does not seem to be required 46# XXX perl is not added as a tool as it does not seem to be required
48REPLACE_PERL+= utils/GenLibDeps.pl 47REPLACE_PERL+= utils/GenLibDeps.pl
49REPLACE_PERL+= utils/UpdateCMakeLists.pl 48REPLACE_PERL+= utils/UpdateCMakeLists.pl
50REPLACE_PERL+= utils/codegen-diff 49REPLACE_PERL+= utils/codegen-diff
51REPLACE_PERL+= utils/findsym.pl 50REPLACE_PERL+= utils/findsym.pl
52REPLACE_PERL+= utils/llvm-native-gxx 51REPLACE_PERL+= utils/llvm-native-gxx
53REPLACE_PERL+= utils/test_debuginfo.pl 52REPLACE_PERL+= utils/test_debuginfo.pl
54 53
55REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/cached/genk-timing.py 54REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/cached/genk-timing.py
56REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/cached/split-lib.py 55REPLACE_PYTHON+= examples/Kaleidoscope/MCJIT/cached/split-lib.py
@@ -80,36 +79,36 @@ REPLACE_PYTHON+= utils/release/findRegre @@ -80,36 +79,36 @@ REPLACE_PYTHON+= utils/release/findRegre
80REPLACE_PYTHON+= utils/schedcover.py 79REPLACE_PYTHON+= utils/schedcover.py
81REPLACE_PYTHON+= utils/shuffle_fuzz.py 80REPLACE_PYTHON+= utils/shuffle_fuzz.py
82REPLACE_PYTHON+= utils/sort_includes.py 81REPLACE_PYTHON+= utils/sort_includes.py
83REPLACE_PYTHON+= utils/testgen/mc-bundling-x86-gen.py 82REPLACE_PYTHON+= utils/testgen/mc-bundling-x86-gen.py
84REPLACE_PYTHON+= utils/update_llc_test_checks.py 83REPLACE_PYTHON+= utils/update_llc_test_checks.py
85REPLACE_PYTHON+= utils/wciia.py 84REPLACE_PYTHON+= utils/wciia.py
86 85
87TEST_TARGET= check 86TEST_TARGET= check
88TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib 87TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib
89 88
90.include "../../mk/bsd.prefs.mk" 89.include "../../mk/bsd.prefs.mk"
91 90
92# 3.8.0 -> 3.8 91# 3.8.0 -> 3.8
93LLVM_MAJOR= ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/} 92LLVM_MAJOR_MINOR= ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/}
94PLIST_SUBST+= LLVM_MAJOR=${LLVM_MAJOR} 93PLIST_SUBST+= LLVM_MAJOR_MINOR=${LLVM_MAJOR_MINOR}
95 94
96PLIST_VARS+= notdylib 95PLIST_VARS+= notdylib
97.if ${_OPSYS_SHLIB_TYPE} == "dylib" 96.if ${_OPSYS_SHLIB_TYPE} == "dylib"
98SOEXT= dylib 97SOEXT= dylib
99LLVM_LIBNAME= libLLVM.${SOEXT} 98LLVM_LIBNAME= libLLVM.${SOEXT}
100.else 99.else
101SOEXT= so 100SOEXT= so
102LLVM_LIBNAME= libLLVM-${LLVM_MAJOR}.${SOEXT} 101LLVM_LIBNAME= libLLVM-${LLVM_MAJOR_MINOR}.${SOEXT}
103PLIST.notdylib= yes 102PLIST.notdylib= yes
104.endif 103.endif
105PLIST_SUBST+= SOEXT=${SOEXT} 104PLIST_SUBST+= SOEXT=${SOEXT}
106PLIST_SUBST+= LLVM_LIBNAME=${LLVM_LIBNAME} 105PLIST_SUBST+= LLVM_LIBNAME=${LLVM_LIBNAME}
107 106
108.include "options.mk" 107.include "options.mk"
109 108
110# replacing config.guess is required even for cmake. 109# replacing config.guess is required even for cmake.
111# It is used to detect correct LLVM_HOST_TRIPLE, e.g. for NetBSD/evbarm. 110# It is used to detect correct LLVM_HOST_TRIPLE, e.g. for NetBSD/evbarm.
112post-extract: 111post-extract:
113 ${RUN} mkdir -p ${WRKDIR}/build 112 ${RUN} mkdir -p ${WRKDIR}/build
114.for f in config.guess config.sub 113.for f in config.guess config.sub
115 cp ../../mk/gnu-config/${f} ${WRKSRC}/autoconf/${f} 114 cp ../../mk/gnu-config/${f} ${WRKSRC}/autoconf/${f}

cvs diff -r1.6 -r1.7 pkgsrc/lang/libLLVM/PLIST (expand / switch to unified diff)

--- pkgsrc/lang/libLLVM/PLIST 2016/03/08 21:50:29 1.6
+++ pkgsrc/lang/libLLVM/PLIST 2016/03/17 02:53:59 1.7
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.6 2016/03/08 21:50:29 tnn Exp $ 1@comment $NetBSD: PLIST,v 1.7 2016/03/17 02:53:59 tnn Exp $
2include/libLLVM/llvm-c/Analysis.h 2include/libLLVM/llvm-c/Analysis.h
3include/libLLVM/llvm-c/BitReader.h 3include/libLLVM/llvm-c/BitReader.h
4include/libLLVM/llvm-c/BitWriter.h 4include/libLLVM/llvm-c/BitWriter.h
5include/libLLVM/llvm-c/Core.h 5include/libLLVM/llvm-c/Core.h
6include/libLLVM/llvm-c/Disassembler.h 6include/libLLVM/llvm-c/Disassembler.h
7include/libLLVM/llvm-c/ErrorHandling.h 7include/libLLVM/llvm-c/ErrorHandling.h
8include/libLLVM/llvm-c/ExecutionEngine.h 8include/libLLVM/llvm-c/ExecutionEngine.h
9include/libLLVM/llvm-c/IRReader.h 9include/libLLVM/llvm-c/IRReader.h
10include/libLLVM/llvm-c/Initialization.h 10include/libLLVM/llvm-c/Initialization.h
11include/libLLVM/llvm-c/LinkTimeOptimizer.h 11include/libLLVM/llvm-c/LinkTimeOptimizer.h
12include/libLLVM/llvm-c/Linker.h 12include/libLLVM/llvm-c/Linker.h
13include/libLLVM/llvm-c/Object.h 13include/libLLVM/llvm-c/Object.h
14include/libLLVM/llvm-c/OrcBindings.h 14include/libLLVM/llvm-c/OrcBindings.h
@@ -792,27 +792,27 @@ include/libLLVM/llvm/Transforms/Utils/Lo @@ -792,27 +792,27 @@ include/libLLVM/llvm/Transforms/Utils/Lo
792include/libLLVM/llvm/Transforms/Utils/LoopVersioning.h 792include/libLLVM/llvm/Transforms/Utils/LoopVersioning.h
793include/libLLVM/llvm/Transforms/Utils/ModuleUtils.h 793include/libLLVM/llvm/Transforms/Utils/ModuleUtils.h
794include/libLLVM/llvm/Transforms/Utils/PromoteMemToReg.h 794include/libLLVM/llvm/Transforms/Utils/PromoteMemToReg.h
795include/libLLVM/llvm/Transforms/Utils/SSAUpdater.h 795include/libLLVM/llvm/Transforms/Utils/SSAUpdater.h
796include/libLLVM/llvm/Transforms/Utils/SSAUpdaterImpl.h 796include/libLLVM/llvm/Transforms/Utils/SSAUpdaterImpl.h
797include/libLLVM/llvm/Transforms/Utils/SimplifyIndVar.h 797include/libLLVM/llvm/Transforms/Utils/SimplifyIndVar.h
798include/libLLVM/llvm/Transforms/Utils/SimplifyLibCalls.h 798include/libLLVM/llvm/Transforms/Utils/SimplifyLibCalls.h
799include/libLLVM/llvm/Transforms/Utils/SplitModule.h 799include/libLLVM/llvm/Transforms/Utils/SplitModule.h
800include/libLLVM/llvm/Transforms/Utils/SymbolRewriter.h 800include/libLLVM/llvm/Transforms/Utils/SymbolRewriter.h
801include/libLLVM/llvm/Transforms/Utils/UnifyFunctionExitNodes.h 801include/libLLVM/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
802include/libLLVM/llvm/Transforms/Utils/UnrollLoop.h 802include/libLLVM/llvm/Transforms/Utils/UnrollLoop.h
803include/libLLVM/llvm/Transforms/Utils/ValueMapper.h 803include/libLLVM/llvm/Transforms/Utils/ValueMapper.h
804include/libLLVM/llvm/Transforms/Vectorize.h 804include/libLLVM/llvm/Transforms/Vectorize.h
805${PLIST.notdylib}lib/libLLVM/libLLVM-${LLVM_MAJOR}.${SOEXT} 805${PLIST.notdylib}lib/libLLVM/libLLVM-${LLVM_MAJOR_MINOR}.${SOEXT}
806${PLIST.notdylib}lib/libLLVM/libLLVM-${PKGVERSION}.${SOEXT} 806${PLIST.notdylib}lib/libLLVM/libLLVM-${PKGVERSION}.${SOEXT}
807lib/libLLVM/libLLVM.${SOEXT} 807lib/libLLVM/libLLVM.${SOEXT}
808libexec/libLLVM/llvm-config 808libexec/libLLVM/llvm-config
809share/libLLVM/cmake/AddLLVM.cmake 809share/libLLVM/cmake/AddLLVM.cmake
810share/libLLVM/cmake/AddLLVMDefinitions.cmake 810share/libLLVM/cmake/AddLLVMDefinitions.cmake
811share/libLLVM/cmake/AddOCaml.cmake 811share/libLLVM/cmake/AddOCaml.cmake
812share/libLLVM/cmake/AddSphinxTarget.cmake 812share/libLLVM/cmake/AddSphinxTarget.cmake
813share/libLLVM/cmake/ChooseMSVCCRT.cmake 813share/libLLVM/cmake/ChooseMSVCCRT.cmake
814share/libLLVM/cmake/CrossCompile.cmake 814share/libLLVM/cmake/CrossCompile.cmake
815share/libLLVM/cmake/DetermineGCCCompatible.cmake 815share/libLLVM/cmake/DetermineGCCCompatible.cmake
816share/libLLVM/cmake/FindOCaml.cmake 816share/libLLVM/cmake/FindOCaml.cmake
817share/libLLVM/cmake/FindSphinx.cmake 817share/libLLVM/cmake/FindSphinx.cmake
818share/libLLVM/cmake/GetSVN.cmake 818share/libLLVM/cmake/GetSVN.cmake

cvs diff -r1.2 -r1.3 pkgsrc/lang/libLLVM/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/libLLVM/distinfo 2016/03/11 06:50:42 1.2
+++ pkgsrc/lang/libLLVM/distinfo 2016/03/17 02:53:59 1.3
@@ -1,13 +1,14 @@ @@ -1,13 +1,14 @@
1$NetBSD: distinfo,v 1.2 2016/03/11 06:50:42 tnn Exp $ 1$NetBSD: distinfo,v 1.3 2016/03/17 02:53:59 tnn Exp $
2 2
3SHA1 (llvm-3.8.0.src.tar.xz) = 723ac918979255706434a05f5af34b71c49c9971 3SHA1 (llvm-3.8.0.src.tar.xz) = 723ac918979255706434a05f5af34b71c49c9971
4RMD160 (llvm-3.8.0.src.tar.xz) = 3c657d061bc8e9de017b0cf1f1a7e63f215b0295 4RMD160 (llvm-3.8.0.src.tar.xz) = 3c657d061bc8e9de017b0cf1f1a7e63f215b0295
5SHA512 (llvm-3.8.0.src.tar.xz) = 2c76e79d803768ed20af6ca1801cf2518071bf9835c54580ea3eb6219a66cdcf8b4c575f192c15082cc18d2468b7611dacb57950b605813a2317125c2d33c138 5SHA512 (llvm-3.8.0.src.tar.xz) = 2c76e79d803768ed20af6ca1801cf2518071bf9835c54580ea3eb6219a66cdcf8b4c575f192c15082cc18d2468b7611dacb57950b605813a2317125c2d33c138
6Size (llvm-3.8.0.src.tar.xz) = 16580932 bytes 6Size (llvm-3.8.0.src.tar.xz) = 16580932 bytes
7SHA1 (patch-CMakeLists.txt) = 770e0bc00a987430b6c6be7e4141f33e5be54a8f 7SHA1 (patch-CMakeLists.txt) = 770e0bc00a987430b6c6be7e4141f33e5be54a8f
8SHA1 (patch-cmake_modules_AddLLVM.cmake) = 88a8d4c8703c69c6e3503ca088bf61349d835c75 8SHA1 (patch-cmake_modules_AddLLVM.cmake) = 88a8d4c8703c69c6e3503ca088bf61349d835c75
9SHA1 (patch-cmake_modules_CMakeLists.txt) = 8297c4b9ddd3ac05a06d8a4a8040be46b5b8b39f 9SHA1 (patch-cmake_modules_CMakeLists.txt) = 8297c4b9ddd3ac05a06d8a4a8040be46b5b8b39f
10SHA1 (patch-cmake_modules_TableGen.cmake) = 53be811936dd5157e6eb08db8cd51a7265bc8c7f 10SHA1 (patch-cmake_modules_TableGen.cmake) = 53be811936dd5157e6eb08db8cd51a7265bc8c7f
11SHA1 (patch-include_llvm_Support_Host.h) = 55a9fab6ee49ec09a2fd644747a6dddd6b39f942 11SHA1 (patch-include_llvm_Support_Host.h) = 55a9fab6ee49ec09a2fd644747a6dddd6b39f942
12SHA1 (patch-lib_Transforms_CMakeLists.txt) = cafdd73a39574aa3a83db35997ff918f87191d18 12SHA1 (patch-lib_Transforms_CMakeLists.txt) = cafdd73a39574aa3a83db35997ff918f87191d18
 13SHA1 (patch-tools_llvm-config_llvm-config.cpp) = 2964b70aa81d272940b8c48c7854e61f7d0662be
13SHA1 (patch-tools_llvm-shlib_CMakeLists.txt) = 8f538db138219c2a3ce394b7a3c21f277d5544dd 14SHA1 (patch-tools_llvm-shlib_CMakeLists.txt) = 8f538db138219c2a3ce394b7a3c21f277d5544dd

File Added: pkgsrc/lang/libLLVM/patches/patch-tools_llvm-config_llvm-config.cpp
$NetBSD: patch-tools_llvm-config_llvm-config.cpp,v 1.1 2016/03/17 02:53:59 tnn Exp $

avoid conflict with lang/clang.
Use -lLLVM-3.8 instead of -lLLVM-3.8.0 so we don't break unnecessarily
on patch updates.

--- tools/llvm-config/llvm-config.cpp.orig	2016-01-12 07:23:58.000000000 +0000
+++ tools/llvm-config/llvm-config.cpp
@@ -309,9 +309,9 @@ int main(int argc, char **argv) {
                            "-I" + ActiveObjRoot + "/include");
   } else {
     ActivePrefix = CurrentExecPrefix;
-    ActiveIncludeDir = ActivePrefix + "/include";
+    ActiveIncludeDir = "@PREFIX@/include/libLLVM";
     ActiveBinDir = ActivePrefix + "/bin";
-    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
+    ActiveLibDir = "@PREFIX@/lib/libLLVM";
     ActiveIncludeOption = "-I" + ActiveIncludeDir;
   }
 
@@ -334,14 +334,14 @@ int main(int argc, char **argv) {
     StaticPrefix = SharedPrefix = "lib";
   } else if (HostTriple.isOSDarwin()) {
     SharedExt = "dylib";
-    SharedVersionedExt = PACKAGE_VERSION ".dylib";
+    SharedVersionedExt = ".dylib";
     StaticExt = "a";
     StaticDir = SharedDir = ActiveLibDir;
     StaticPrefix = SharedPrefix = "lib";
   } else {
     // default to the unix values:
     SharedExt = "so";
-    SharedVersionedExt = PACKAGE_VERSION ".so";
+    SharedVersionedExt = "-@LLVM_MAJOR_MINOR@.so";
     StaticExt = "a";
     StaticDir = SharedDir = ActiveLibDir;
     StaticPrefix = SharedPrefix = "lib";
@@ -362,7 +362,7 @@ int main(int argc, char **argv) {
 
   bool DyLibExists = false;
   const std::string DyLibName =
-    (SharedPrefix + "LLVM-" + SharedVersionedExt).str();
+    (SharedPrefix + "LLVM" + SharedVersionedExt).str();
 
   if (BuiltDyLib) {
     DyLibExists = sys::fs::exists(SharedDir + "/" + DyLibName);
@@ -440,7 +440,7 @@ int main(int argc, char **argv) {
       } else if (Arg == "--cxxflags") {
         OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n';
       } else if (Arg == "--ldflags") {
-        OS << "-L" << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n';
+        OS << "-L" << ActiveLibDir << " @COMPILER_RPATH_FLAG@" << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n';
       } else if (Arg == "--system-libs") {
         PrintSystemLibs = true;
       } else if (Arg == "--libs") {