diff options
author | tnn <tnn> | 2016-03-17 02:53:59 +0000 |
---|---|---|
committer | tnn <tnn> | 2016-03-17 02:53:59 +0000 |
commit | 891f32878c89c271359438f97dcd8ca11d004202 (patch) | |
tree | 58383fd0d808d2cfd375700cbba9d0a1e7310c33 /lang | |
parent | 1033db59f352c4fda717c54efe70abcbfdd5d5a4 (diff) | |
download | pkgsrc-891f32878c89c271359438f97dcd8ca11d004202.tar.gz |
fix wrong llvm-config --libs output. Should return -lLLVM-3.8. Bump.
Diffstat (limited to 'lang')
-rw-r--r-- | lang/libLLVM/Makefile | 15 | ||||
-rw-r--r-- | lang/libLLVM/PLIST | 4 | ||||
-rw-r--r-- | lang/libLLVM/distinfo | 3 | ||||
-rw-r--r-- | lang/libLLVM/patches/patch-tools_llvm-config_llvm-config.cpp | 55 |
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") { |