Thu Sep 1 01:36:43 2022 UTC ()
llvm: fix botch in previous commit


(gutteridge)
diff -r1.80 -r1.81 pkgsrc/lang/llvm/Makefile

cvs diff -r1.80 -r1.81 pkgsrc/lang/llvm/Makefile (switch to unified diff)

--- pkgsrc/lang/llvm/Makefile 2022/09/01 01:32:29 1.80
+++ pkgsrc/lang/llvm/Makefile 2022/09/01 01:36:42 1.81
@@ -1,153 +1,152 @@ @@ -1,153 +1,152 @@
1# $NetBSD: Makefile,v 1.80 2022/09/01 01:32:29 gutteridge Exp $ 1# $NetBSD: Makefile,v 1.81 2022/09/01 01:36:42 gutteridge Exp $
2# 2#
3# When updating this, please also update: 3# When updating this, please also update:
4# devel/include-what-you-use 4# devel/include-what-you-use
5# devel/lld 5# devel/lld
6# devel/lldb 6# devel/lldb
7# devel/polly 7# devel/polly
8# lang/clang 8# lang/clang
9# lang/clang-tools-extra 9# lang/clang-tools-extra
10# lang/compiler-rt 10# lang/compiler-rt
11# lang/libcxx 11# lang/libcxx
12# lang/libcxxabi 12# lang/libcxxabi
13# lang/libunwind 13# lang/libunwind
14# lang/wasi-compiler-rt 14# lang/wasi-compiler-rt
15# lang/wasi-libcxx 15# lang/wasi-libcxx
16# parallel/openmp 16# parallel/openmp
17# 17#
18# Do not update: 18# Do not update:
19# lang/libLLVM 19# lang/libLLVM
20# because pkgsrc provides multiple versions and lang/libLLVM is 20# because pkgsrc provides multiple versions and lang/libLLVM is
21# logically libLLVM4. 21# logically libLLVM4.
22# 22#
23# Always update all */buildlink3.mk to require the latest stable release 23# Always update all */buildlink3.mk to require the latest stable release
24# version in BUILDLINK_API_DEPENDS, as there is no backwards compatibility. 24# version in BUILDLINK_API_DEPENDS, as there is no backwards compatibility.
25 25
26.include "version.mk" 26.include "version.mk"
27 27
28DISTNAME= llvm-${LLVM_VERSION}.src 28DISTNAME= llvm-${LLVM_VERSION}.src
29PKGNAME= ${DISTNAME:S/.src//} 29PKGNAME= ${DISTNAME:S/.src//}
30PKGREVISION= 1 30PKGREVISION= 1
31CATEGORIES= lang devel 31CATEGORIES= lang devel
32 32
33MAINTAINER= pkgsrc-users@NetBSD.org 33MAINTAINER= pkgsrc-users@NetBSD.org
34HOMEPAGE= https://llvm.org/ 34HOMEPAGE= https://llvm.org/
35COMMENT= Low Level Virtual Machine compiler infrastructure 35COMMENT= Low Level Virtual Machine compiler infrastructure
36LICENSE= apache-2.0 36LICENSE= apache-2.0
37 37
38USE_LANGUAGES= c c++14 38USE_LANGUAGES= c c++14
39USE_CMAKE= yes 39USE_CMAKE= yes
40GCC_REQD+= 7 40GCC_REQD+= 7
41PYTHON_FOR_BUILD_ONLY= yes 41PYTHON_FOR_BUILD_ONLY= yes
42 42
43PYTHON_VERSIONS_INCOMPATIBLE= 27 43PYTHON_VERSIONS_INCOMPATIBLE= 27
44 44
45NOT_FOR_PLATFORM+= *-*-alpha 45NOT_FOR_PLATFORM+= *-*-alpha
46NOT_FOR_PLATFORM+= *-*-vax 46NOT_FOR_PLATFORM+= *-*-vax
47 47
48CONFIGURE_DIRS= build 48CONFIGURE_DIRS= build
49CMAKE_ARG_PATH= ${WRKSRC} 49CMAKE_ARG_PATH= ${WRKSRC}
50 50
51CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release 51CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
52CMAKE_ARGS+= -DCMAKE_C_COMPILER=${CC:Q} 52CMAKE_ARGS+= -DCMAKE_C_COMPILER=${CC:Q}
53CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=${CXX:Q} 53CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=${CXX:Q}
54CMAKE_ARGS+= -DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q} 54CMAKE_ARGS+= -DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q}
55CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=ON 55CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=ON
56CMAKE_ARGS+= -DLLVM_INCLUDE_BENCHMARKS=OFF 56CMAKE_ARGS+= -DLLVM_INCLUDE_BENCHMARKS=OFF
57CMAKE_ARGS+= -DLLVM_INSTALL_UTILS=ON 57CMAKE_ARGS+= -DLLVM_INSTALL_UTILS=ON
58CMAKE_ARGS+= -DLLVM_LINK_LLVM_DYLIB=ON 58CMAKE_ARGS+= -DLLVM_LINK_LLVM_DYLIB=ON
59CMAKE_ARGS+= -DLLVM_ENABLE_RTTI=ON 59CMAKE_ARGS+= -DLLVM_ENABLE_RTTI=ON
60 60
61CMAKE_ARGS.Darwin+= -DCMAKE_LIBTOOL=/usr/bin/libtool 61CMAKE_ARGS.Darwin+= -DCMAKE_LIBTOOL=/usr/bin/libtool
62 62
63CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm 63CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
64 64
65# XXX perl is not added as a tool as it does not seem to be required 65# XXX perl is not added as a tool as it does not seem to be required
66REPLACE_PERL+= utils/*.pl 66REPLACE_PERL+= utils/*.pl
67REPLACE_PERL+= utils/codegen-diff 67REPLACE_PERL+= utils/codegen-diff
68REPLACE_PERL+= utils/llvm-native-gxx 68REPLACE_PERL+= utils/llvm-native-gxx
69 69
70REPLACE_PYTHON+= tools/opt-viewer/*.py 70REPLACE_PYTHON+= tools/opt-viewer/*.py
71REPLACE_PYTHON+= tools/sancov/*.py 71REPLACE_PYTHON+= tools/sancov/*.py
72REPLACE_PYTHON+= utils/*.py 72REPLACE_PYTHON+= utils/*.py
73REPLACE_PYTHON+= utils/Misc/zkill 73REPLACE_PYTHON+= utils/Misc/zkill
74REPLACE_PYTHON+= utils/bisect 74REPLACE_PYTHON+= utils/bisect
75REPLACE_PYTHON+= utils/clang-parse-diagnostics-file 75REPLACE_PYTHON+= utils/clang-parse-diagnostics-file
76REPLACE_PYTHON+= utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py 76REPLACE_PYTHON+= utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest.py
77REPLACE_PYTHON+= utils/llvm-build/llvm-build 77REPLACE_PYTHON+= utils/llvm-build/llvm-build
78REPLACE_PYTHON+= utils/llvm-compilers-check 78REPLACE_PYTHON+= utils/llvm-compilers-check
79REPLACE_PYTHON+= utils/llvm-lit/llvm-lit.in 79REPLACE_PYTHON+= utils/llvm-lit/llvm-lit.in
80 80
81TEST_TARGET= check 81TEST_TARGET= check
82TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib 82TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib
83 83
84# It may be that the Solaris linker is more strict here and they can be removed on 84# It may be that the Solaris linker is more strict here and they can be removed on
85# all platforms. Change this to a patch if verified. 85# all platforms. Change this to a patch if verified.
86SUBST_CLASSES.SunOS+= linkmap 86SUBST_CLASSES.SunOS+= linkmap
87SUBST_STAGE.linkmap= pre-configure 87SUBST_STAGE.linkmap= pre-configure
88SUBST_FILES.linkmap= tools/lto/lto.exports 88SUBST_FILES.linkmap= tools/lto/lto.exports
89SUBST_FILES.linkmap+= tools/remarks-shlib/Remarks.exports 89SUBST_FILES.linkmap+= tools/remarks-shlib/Remarks.exports
90SUBST_SED.linkmap= -e '/^LLVM/d' 90SUBST_SED.linkmap= -e '/^LLVM/d'
91 91
92LDFLAGS.SunOS+= -lsocket -lnsl 92LDFLAGS.SunOS+= -lsocket -lnsl
93 93
94.include "../../mk/bsd.prefs.mk" 94.include "../../mk/bsd.prefs.mk"
95 95
96PLIST_VARS+= notdylib 96PLIST_VARS+= notdylib
97.if ${SHLIB_TYPE} == "dylib" 97.if ${SHLIB_TYPE} == "dylib"
98SOEXT= dylib 98SOEXT= dylib
99.else 99.else
100SOEXT= so 100SOEXT= so
101PLIST.notdylib= yes 101PLIST.notdylib= yes
102.endif 102.endif
103PLIST_SUBST+= SOEXT=${SOEXT} 103PLIST_SUBST+= SOEXT=${SOEXT}
104PLIST_SUBST+= LLVM_MAJOR_VERSION=${LLVM_MAJOR_VERSION} 104PLIST_SUBST+= LLVM_MAJOR_VERSION=${LLVM_MAJOR_VERSION}
105 105
106NOTDYLIBS= LTO Remarks 106NOTDYLIBS= LTO Remarks
107.for libname in ${NOTDYLIBS} 107.for libname in ${NOTDYLIBS}
108PRINT_PLIST_AWK+= /lib${libname}.${SOEXT}.${LLVM_MAJOR_VERSION}/ { gsub(/\.${SOEXT}\.${LLVM_MAJOR_VERSION}/, ".$${SOEXT}.$${LLVM_MAJOR_VERSION}"); print "$${PLIST.notdylib}" $$0; next } 108PRINT_PLIST_AWK+= /lib${libname}.${SOEXT}.${LLVM_MAJOR_VERSION}/ { gsub(/\.${SOEXT}\.${LLVM_MAJOR_VERSION}/, ".$${SOEXT}.$${LLVM_MAJOR_VERSION}"); print "$${PLIST.notdylib}" $$0; next }
109.endfor 109.endfor
110PRINT_PLIST_AWK+= { gsub(/\.${SOEXT}/, ".$${SOEXT}") } 110PRINT_PLIST_AWK+= { gsub(/\.${SOEXT}/, ".$${SOEXT}") }
111 111
112# needs std::atomic with 64-bit CAS 112# needs std::atomic with 64-bit CAS
113.if ${MACHINE_ARCH} == "i386" 113.if ${MACHINE_ARCH} == "i386"
114CXXFLAGS+= -march=i586 114CXXFLAGS+= -march=i586
115.endif 115.endif
116 116
117.if ${MACHINE_ARCH:Mpowerpc*} 117.if ${MACHINE_ARCH:Mpowerpc*}
118# Needed to avoid "relocation truncated to fit: R_PPC_REL24" 118# Needed to avoid "relocation truncated to fit: R_PPC_REL24"
119CFLAGS+= -mlongcall 119CFLAGS+= -mlongcall
120CXXFLAGS+= -mlongcall 120CXXFLAGS+= -mlongcall
121. if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} >= 099917 121. if ${OPSYS} == "NetBSD" && ${OPSYS_VERSION} >= 099917
122# The -mno-pltseq option is not available in gcc7, but is needed for 122# The -mno-pltseq option is not available in gcc7, but is needed for
123# the above-mentioned relocation truncation issue in newer GCC 123# the above-mentioned relocation truncation issue in newer GCC
124CFLAGS+= -mno-pltseq 124CFLAGS+= -mno-pltseq
125CXXFLAGS+= -mno-pltseq 125CXXFLAGS+= -mno-pltseq
126. endif 
127. else # Not NetBSD 126. else # Not NetBSD
128# Let's just insist on newer gcc -- untested. 127# Let's just insist on newer gcc -- untested.
129CFLAGS+= -mno-pltseq 128CFLAGS+= -mno-pltseq
130CXXFLAGS+= -mno-pltseq 129CXXFLAGS+= -mno-pltseq
131. endif 130. endif
132.endif 131.endif
133 132
134.if ${OPSYS} == "NetBSD" 133.if ${OPSYS} == "NetBSD"
135CMAKE_ARGS+= -DPKGSRC_LLVM_PTHREADLIB=-lpthread 134CMAKE_ARGS+= -DPKGSRC_LLVM_PTHREADLIB=-lpthread
136.endif 135.endif
137 136
138.include "options.mk" 137.include "options.mk"
139 138
140# replacing config.guess is required even for cmake. 139# replacing config.guess is required even for cmake.
141# It is used to detect correct LLVM_HOST_TRIPLE, e.g. for NetBSD/evbarm. 140# It is used to detect correct LLVM_HOST_TRIPLE, e.g. for NetBSD/evbarm.
142post-extract: 141post-extract:
143 ${MKDIR} ${WRKSRC}/build 142 ${MKDIR} ${WRKSRC}/build
144.for f in config.guess config.sub 143.for f in config.guess config.sub
145 cp ../../mk/gnu-config/${f} ${WRKSRC}/cmake/${f} 144 cp ../../mk/gnu-config/${f} ${WRKSRC}/cmake/${f}
146.endfor 145.endfor
147 146
148.include "../../devel/zlib/buildlink3.mk" 147.include "../../devel/zlib/buildlink3.mk"
149.include "../../lang/python/application.mk" 148.include "../../lang/python/application.mk"
150.include "../../lang/python/tool.mk" 149.include "../../lang/python/tool.mk"
151.include "../../textproc/libxml2/buildlink3.mk" 150.include "../../textproc/libxml2/buildlink3.mk"
152.include "../../mk/atomic64.mk" 151.include "../../mk/atomic64.mk"
153.include "../../mk/bsd.pkg.mk" 152.include "../../mk/bsd.pkg.mk"