summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortnn <tnn>2016-03-17 02:53:59 +0000
committertnn <tnn>2016-03-17 02:53:59 +0000
commit891f32878c89c271359438f97dcd8ca11d004202 (patch)
tree58383fd0d808d2cfd375700cbba9d0a1e7310c33 /lang
parent1033db59f352c4fda717c54efe70abcbfdd5d5a4 (diff)
downloadpkgsrc-891f32878c89c271359438f97dcd8ca11d004202.tar.gz
fix wrong llvm-config --libs output. Should return -lLLVM-3.8. Bump.
Diffstat (limited to 'lang')
-rw-r--r--lang/libLLVM/Makefile15
-rw-r--r--lang/libLLVM/PLIST4
-rw-r--r--lang/libLLVM/distinfo3
-rw-r--r--lang/libLLVM/patches/patch-tools_llvm-config_llvm-config.cpp55
4 files changed, 66 insertions, 11 deletions
diff --git a/lang/libLLVM/Makefile b/lang/libLLVM/Makefile
index 852b322566b..b9c6b762a3d 100644
--- a/lang/libLLVM/Makefile
+++ b/lang/libLLVM/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.9 2016/03/08 21:50:29 tnn Exp $
+# $NetBSD: Makefile,v 1.10 2016/03/17 02:53:59 tnn Exp $
DISTNAME= llvm-3.8.0.src
+PKGREVISION= 1
PKGNAME= ${DISTNAME:S/llvm/libLLVM/:S/.src//}
CATEGORIES= lang devel
MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
@@ -22,7 +23,7 @@ CMAKE_ARG_PATH= ${WRKSRC}
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
CMAKE_ARGS+= -DCMAKE_C_COMPILER=gcc
CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=g++
-CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=On
+CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=ON
.for tool in bugpoint bugpoint_passes dsymutil llc lli llvm_ar \
llvm_as llvm_bcanalyzer llvm_c_test llvm_cov llvm_cxxdump \
@@ -38,9 +39,7 @@ SUBST_CLASSES+= fix-cnf
SUBST_STAGE.fix-cnf= pre-configure
SUBST_MESSAGE.fix-cnf= Fixing llvm-config paths
SUBST_FILES.fix-cnf= tools/llvm-config/llvm-config.cpp
-SUBST_SED.fix-cnf= -e 's|ActivePrefix + "/include"|"${PREFIX}/include/libLLVM"|g'
-SUBST_SED.fix-cnf+= -e 's|ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX|"${PREFIX}/lib/libLLVM"|g'
-SUBST_SED.fix-cnf+= -e 's|"-L" << ActiveLibDir|"${COMPILER_RPATH_FLAG}" << ActiveLibDir << " " << &|g'
+SUBST_VARS.fix-cnf= PREFIX LLVM_MAJOR_MINOR COMPILER_RPATH_FLAG
CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
@@ -90,8 +89,8 @@ TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib
.include "../../mk/bsd.prefs.mk"
# 3.8.0 -> 3.8
-LLVM_MAJOR= ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/}
-PLIST_SUBST+= LLVM_MAJOR=${LLVM_MAJOR}
+LLVM_MAJOR_MINOR= ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/}
+PLIST_SUBST+= LLVM_MAJOR_MINOR=${LLVM_MAJOR_MINOR}
PLIST_VARS+= notdylib
.if ${_OPSYS_SHLIB_TYPE} == "dylib"
@@ -99,7 +98,7 @@ SOEXT= dylib
LLVM_LIBNAME= libLLVM.${SOEXT}
.else
SOEXT= so
-LLVM_LIBNAME= libLLVM-${LLVM_MAJOR}.${SOEXT}
+LLVM_LIBNAME= libLLVM-${LLVM_MAJOR_MINOR}.${SOEXT}
PLIST.notdylib= yes
.endif
PLIST_SUBST+= SOEXT=${SOEXT}
diff --git a/lang/libLLVM/PLIST b/lang/libLLVM/PLIST
index b9b64f1756e..44741ff81f2 100644
--- a/lang/libLLVM/PLIST
+++ b/lang/libLLVM/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.6 2016/03/08 21:50:29 tnn Exp $
+@comment $NetBSD: PLIST,v 1.7 2016/03/17 02:53:59 tnn Exp $
include/libLLVM/llvm-c/Analysis.h
include/libLLVM/llvm-c/BitReader.h
include/libLLVM/llvm-c/BitWriter.h
@@ -802,7 +802,7 @@ include/libLLVM/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
include/libLLVM/llvm/Transforms/Utils/UnrollLoop.h
include/libLLVM/llvm/Transforms/Utils/ValueMapper.h
include/libLLVM/llvm/Transforms/Vectorize.h
-${PLIST.notdylib}lib/libLLVM/libLLVM-${LLVM_MAJOR}.${SOEXT}
+${PLIST.notdylib}lib/libLLVM/libLLVM-${LLVM_MAJOR_MINOR}.${SOEXT}
${PLIST.notdylib}lib/libLLVM/libLLVM-${PKGVERSION}.${SOEXT}
lib/libLLVM/libLLVM.${SOEXT}
libexec/libLLVM/llvm-config
diff --git a/lang/libLLVM/distinfo b/lang/libLLVM/distinfo
index b520c7499fb..dc580a6c4fa 100644
--- a/lang/libLLVM/distinfo
+++ b/lang/libLLVM/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.2 2016/03/11 06:50:42 tnn Exp $
+$NetBSD: distinfo,v 1.3 2016/03/17 02:53:59 tnn Exp $
SHA1 (llvm-3.8.0.src.tar.xz) = 723ac918979255706434a05f5af34b71c49c9971
RMD160 (llvm-3.8.0.src.tar.xz) = 3c657d061bc8e9de017b0cf1f1a7e63f215b0295
@@ -10,4 +10,5 @@ SHA1 (patch-cmake_modules_CMakeLists.txt) = 8297c4b9ddd3ac05a06d8a4a8040be46b5b8
SHA1 (patch-cmake_modules_TableGen.cmake) = 53be811936dd5157e6eb08db8cd51a7265bc8c7f
SHA1 (patch-include_llvm_Support_Host.h) = 55a9fab6ee49ec09a2fd644747a6dddd6b39f942
SHA1 (patch-lib_Transforms_CMakeLists.txt) = cafdd73a39574aa3a83db35997ff918f87191d18
+SHA1 (patch-tools_llvm-config_llvm-config.cpp) = 2964b70aa81d272940b8c48c7854e61f7d0662be
SHA1 (patch-tools_llvm-shlib_CMakeLists.txt) = 8f538db138219c2a3ce394b7a3c21f277d5544dd
diff --git a/lang/libLLVM/patches/patch-tools_llvm-config_llvm-config.cpp b/lang/libLLVM/patches/patch-tools_llvm-config_llvm-config.cpp
new file mode 100644
index 00000000000..c7d2f289e00
--- /dev/null
+++ b/lang/libLLVM/patches/patch-tools_llvm-config_llvm-config.cpp
@@ -0,0 +1,55 @@
+$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") {