Fri May 5 22:47:00 2017 UTC ()
Reduce diff with pkgsrc-wip/clang-git

This also fixes linking with libstdc++ in clang and should make it usable.


(kamil)
diff -r1.20 -r1.21 pkgsrc/lang/clang/Makefile.common

cvs diff -r1.20 -r1.21 pkgsrc/lang/clang/Makefile.common (expand / switch to unified diff)

--- pkgsrc/lang/clang/Makefile.common 2017/05/03 08:38:43 1.20
+++ pkgsrc/lang/clang/Makefile.common 2017/05/05 22:47:00 1.21
@@ -1,40 +1,40 @@ @@ -1,40 +1,40 @@
1# $NetBSD: Makefile.common,v 1.20 2017/05/03 08:38:43 jperkin Exp $ 1# $NetBSD: Makefile.common,v 1.21 2017/05/05 22:47:00 kamil Exp $
2# used by lang/clang/Makefile 2# used by lang/clang/Makefile
3# used by lang/clang-static-analyzer/Makefile 3# used by lang/clang-static-analyzer/Makefile
4 4
5DISTNAME= cfe-4.0.0.src 5DISTNAME= cfe-4.0.0.src
6CATEGORIES= lang devel 6CATEGORIES= lang devel
7MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/ 7MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
8EXTRACT_SUFX= .tar.xz 8EXTRACT_SUFX= .tar.xz
9 9
10MAINTAINER= pkgsrc-users@NetBSD.org 10MAINTAINER= pkgsrc-users@NetBSD.org
11HOMEPAGE= http://clang.llvm.org/ 11HOMEPAGE= http://clang.llvm.org/
12COMMENT= C language family frontend for LLVM 12COMMENT= C language family frontend for LLVM
13LICENSE= modified-bsd 13LICENSE= modified-bsd
14 14
15DISTINFO_FILE= ${.CURDIR}/../../lang/clang/distinfo 15DISTINFO_FILE= ${.CURDIR}/../../lang/clang/distinfo
16PATCHDIR= ${.CURDIR}/../../lang/clang/patches 16PATCHDIR= ${.CURDIR}/../../lang/clang/patches
17CONFIGURE_DIRS= ${WRKDIR}/build 17CONFIGURE_DIRS= ${WRKDIR}/build
18CMAKE_ARG_PATH= ${WRKSRC} 18CMAKE_ARG_PATH= ${WRKSRC}
19 19
20USE_LANGUAGES= c c++11 20USE_LANGUAGES= c c++11
21USE_CMAKE= yes 21USE_CMAKE= yes
22GCC_REQD+= 4.8 22GCC_REQD+= 4.8
23 23
24CMAKE_ARGS+= -DLLVM_CONFIG=${LLVM_CONFIG_PATH} 24CMAKE_ARGS+= -DLLVM_CONFIG=${LLVM_CONFIG_PATH}
25CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release 25CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
26CMAKE_ARGS+= -DCMAKE_C_COMPILER=gcc 26CMAKE_ARGS+= -DCMAKE_C_COMPILER=${CC:Q}
27CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=g++ 27CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=${CXX:Q}
28# XXX can't disable static-analyzer without also disabling ARCMT 28# XXX can't disable static-analyzer without also disabling ARCMT
29CMAKE_ARGS+= -DCLANG_ENABLE_ARCMT=OFF 29CMAKE_ARGS+= -DCLANG_ENABLE_ARCMT=OFF
30 30
31CMAKE_ARGS.Darwin+= -DCMAKE_LIBTOOL=/usr/bin/libtool 31CMAKE_ARGS.Darwin+= -DCMAKE_LIBTOOL=/usr/bin/libtool
32 32
33REPLACE_PERL+= test/make_test_dirs.pl 33REPLACE_PERL+= test/make_test_dirs.pl
34REPLACE_PERL+= tools/scan-build/bin/scan-build 34REPLACE_PERL+= tools/scan-build/bin/scan-build
35REPLACE_PERL+= tools/scan-build/libexec/c++-analyzer 35REPLACE_PERL+= tools/scan-build/libexec/c++-analyzer
36REPLACE_PERL+= tools/scan-build/libexec/ccc-analyzer 36REPLACE_PERL+= tools/scan-build/libexec/ccc-analyzer
37REPLACE_PERL+= utils/TestUtils/pch-test.pl 37REPLACE_PERL+= utils/TestUtils/pch-test.pl
38REPLACE_PERL+= utils/analyzer/reducer.pl 38REPLACE_PERL+= utils/analyzer/reducer.pl
39REPLACE_PERL+= utils/analyzer/update_plist_test.pl 39REPLACE_PERL+= utils/analyzer/update_plist_test.pl
40REPLACE_PERL+= www/demo/index.cgi 40REPLACE_PERL+= www/demo/index.cgi
@@ -71,27 +71,27 @@ REPLACE_PYTHON+= www/builtins.py @@ -71,27 +71,27 @@ REPLACE_PYTHON+= www/builtins.py
71# command to check if clang is using libc++ or libstdc++ 71# command to check if clang is using libc++ or libstdc++
72LIBCPP_CHECK_SH= printf "\#include <ciso646>\n\#ifdef _LIBCPP_VERSION\nYES\n\#endif" | ${CLANGBASE}/bin/clang++ -x c++ -E - 2>&1 | grep YES || true 72LIBCPP_CHECK_SH= printf "\#include <ciso646>\n\#ifdef _LIBCPP_VERSION\nYES\n\#endif" | ${CLANGBASE}/bin/clang++ -x c++ -E - 2>&1 | grep YES || true
73.else 73.else
74LIBCPP_CHECK_SH= echo NO 74LIBCPP_CHECK_SH= echo NO
75.endif 75.endif
76 76
77# patch NetBSD::GetCXXStdlibType 77# patch NetBSD::GetCXXStdlibType
78.if ${OPSYS} == "NetBSD" && empty(LIBCPP_CHECK_SH:sh:MYES) 78.if ${OPSYS} == "NetBSD" && empty(LIBCPP_CHECK_SH:sh:MYES)
79SUBST_CLASSES+= libcxx 79SUBST_CLASSES+= libcxx
80SUBST_STAGE.libcxx= pre-configure 80SUBST_STAGE.libcxx= pre-configure
81SUBST_MESSAGE.libcxx= Patching toolchain to use libstdc++ (matching the host compiler) 81SUBST_MESSAGE.libcxx= Patching toolchain to use libstdc++ (matching the host compiler)
82SUBST_FILES.libcxx= lib/Driver/ToolChains.cpp 82SUBST_FILES.libcxx= lib/Driver/ToolChains.cpp
83SUBST_FILES.libcxx+= lib/Driver/Tools.cpp 83SUBST_FILES.libcxx+= lib/Driver/Tools.cpp
84SUBST_SED.libcxx= -e 's,(Major >= 7 || (Major == 6 && Minor == 99 && Micro >= 49) || Major == 0),(false),' 84SUBST_SED.libcxx= -e 's,(Major >= 7 || Major == 0),(false),'
85 85
86CMAKE_ARGS+= -DCLANG_DEFAULT_CXX_STDLIB:STRING="libstdc++" 86CMAKE_ARGS+= -DCLANG_DEFAULT_CXX_STDLIB:STRING="libstdc++"
87.endif 87.endif
88 88
89# 3.8.0 -> 3.8 89# 3.8.0 -> 3.8
90LLVM_MAJOR= ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/} 90LLVM_MAJOR= ${PKGVERSION_NOREV:C/^([0-9]+\.[0-9]+)\..*$/\1/}
91PLIST_SUBST+= LLVM_MAJOR=${LLVM_MAJOR} 91PLIST_SUBST+= LLVM_MAJOR=${LLVM_MAJOR}
92 92
93PLIST_VARS+= notdylib 93PLIST_VARS+= notdylib
94.if ${_OPSYS_SHLIB_TYPE} == "dylib" 94.if ${_OPSYS_SHLIB_TYPE} == "dylib"
95SOEXT= dylib 95SOEXT= dylib
96.else 96.else
97SOEXT= so 97SOEXT= so