Page MenuHomeFreeBSD

D6362.diff
No OneTemporary

D6362.diff

Index: Mk/Uses/compiler.mk
===================================================================
--- Mk/Uses/compiler.mk
+++ Mk/Uses/compiler.mk
@@ -96,8 +96,28 @@
.if ${_COMPILER_ARGS:Mopenmp}
.if ${COMPILER_TYPE} == clang
-USE_GCC= yes
+.if ${ARCH} == amd64
+_USES_POST+= localbase:ldflags
+.if ${COMPILER_VERSION} < 38
+BUILD_DEPENDS+= llvm40>=0:devel/llvm40
+CPP= ${LOCALBASE}/bin/clang-cpp40
+CC= ${LOCALBASE}/bin/clang40
+CXX= ${LOCALBASE}/bin/clang++40
+CHOSEN_COMPILER_TYPE= clang
+.endif
+LIB_DEPENDS+= libomp.so.0:devel/openmp
+.else
+USE_GCC= yes
CHOSEN_COMPILER_TYPE= gcc
+.if ${COMPILER_FEATURES:Mlibc++}
+CXXFLAGS+= -nostdinc++ -isystem /usr/include/c++/v1
+LDFLAGS+= -L${WRKDIR}
+
+_USES_configure+= 200:gcc-libc++-configure
+gcc-libc++-configure:
+ @${LN} -fs /usr/lib/libc++.so ${WRKDIR}/libstdc++.so
+.endif
+.endif
.endif
.endif
Index: devel/llvm40/Makefile
===================================================================
--- devel/llvm40/Makefile
+++ devel/llvm40/Makefile
@@ -2,7 +2,7 @@
PORTNAME= llvm
DISTVERSION= 4.0.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= devel lang
MASTER_SITES= http://llvm.org/${PRE_}releases/${LLVM_RELEASE}/${RCDIR}
PKGNAMESUFFIX= ${LLVM_SUFFIX}
@@ -344,6 +344,7 @@
-e 's|lit\.|lit${LLVM_SUFFIX}.|' \
${WRKSRC}/utils/lit/lit.py ${WRKSRC}/utils/lit/lit/*.py \
${WRKSRC}/utils/lit/lit/formats/*.py
+ ${REINPLACE_CMD} -e 's|CMAKE_INSTALL_PREFIX|${CMAKE_INSTALL_PREFIX}|g' ${WRKSRC}/tools/clang/lib/Driver/Tools.cpp
post-patch-CLANG-on:
${REINPLACE_CMD} -e 's|%%LLVM_PREFIX%%|${LLVM_PREFIX}|' \
Index: devel/llvm40/files/clang-patch-fopenmp.diff
===================================================================
--- devel/llvm40/files/clang-patch-fopenmp.diff
+++ devel/llvm40/files/clang-patch-fopenmp.diff
@@ -1,32 +1,35 @@
---- tools/clang/lib/Driver/Tools.cpp.orig 2017-01-26 08:40:33.955918000 +0000
-+++ tools/clang/lib/Driver/Tools.cpp 2017-01-26 09:41:36.791095000 +0000
-@@ -3216,13 +3216,22 @@
+--- tools/clang/lib/Driver/Tools.cpp.orig 2017-04-15 22:54:19.427146000 -0400
++++ tools/clang/lib/Driver/Tools.cpp 2017-04-15 23:10:14.340304000 -0400
+@@ -3216,13 +3216,25 @@
switch (TC.getDriver().getOpenMPRuntime(Args)) {
case Driver::OMPRT_OMP:
- CmdArgs.push_back("-lomp");
-+ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("/usr/local/llvm40/lib/libomp.so"))
++ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("/usr/local/llvm40/lib/libomp.so")){
++ CmdArgs.push_back("-LCMAKE_INSTALL_PREFIX/lib");
+ CmdArgs.push_back("-lomp");
-+ else
++ } else
+ CmdArgs.push_back("/usr/local/llvm40/lib/libomp.so");
break;
case Driver::OMPRT_GOMP:
- CmdArgs.push_back("-lgomp");
-+ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("/usr/local/llvm40/lib/libgomp.so"))
++ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("/usr/local/llvm40/lib/libgomp.so")){
++ CmdArgs.push_back("-LCMAKE_INSTALL_PREFIX/lib");
+ CmdArgs.push_back("-lgomp");
-+ else
++ } else
+ CmdArgs.push_back("/usr/local/llvm40/lib/libgomp.so");
break;
case Driver::OMPRT_IOMP5:
- CmdArgs.push_back("-liomp5");
-+ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("/usr/local/llvm40/lib/libiomp5.so"))
++ if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("/usr/local/llvm40/lib/libiomp5.so")){
++ CmdArgs.push_back("-LCMAKE_INSTALL_PREFIX/lib");
+ CmdArgs.push_back("-liomp5");
-+ else
++ } else
+ CmdArgs.push_back("/usr/local/llvm40/lib/libiomp5.so");
break;
case Driver::OMPRT_Unknown:
// Already diagnosed.
-@@ -10235,17 +10244,26 @@
+@@ -10239,17 +10251,26 @@
// Also link the particular OpenMP runtimes.
switch (ToolChain.getDriver().getOpenMPRuntime(Args)) {
case Driver::OMPRT_OMP:
Index: math/openblas/Makefile
===================================================================
--- math/openblas/Makefile
+++ math/openblas/Makefile
@@ -73,6 +73,7 @@
.endif
.if ${PORT_OPTIONS:MOPENMP}
+USE_GCC= yes
USES+= compiler:openmp
BUILDFLAGS_THREAD+= USE_OPENMP=1
.endif

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 19, 2:42 PM (4 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25643576
Default Alt Text
D6362.diff (4 KB)

Event Timeline