Mon Jan 10 02:10:04 2022 UTC ()
wasi-libcxx: carry over wasi-compiler-rt fix for Firefox builds

Also apply tnn@'s workaround in wasi-compiler-rt here, as related
failures have been observed due to this package. See PR pkg/56590.
(Tested with multiple iterations on NetBSD 9.2_STABLE.)


(gutteridge)
diff -r1.7 -r1.8 pkgsrc/lang/wasi-libcxx/Makefile

cvs diff -r1.7 -r1.8 pkgsrc/lang/wasi-libcxx/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/wasi-libcxx/Makefile 2022/01/07 15:49:53 1.7
+++ pkgsrc/lang/wasi-libcxx/Makefile 2022/01/10 02:10:04 1.8
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.7 2022/01/07 15:49:53 tnn Exp $ 1# $NetBSD: Makefile,v 1.8 2022/01/10 02:10:04 gutteridge Exp $
2 2
3.include "../../lang/llvm/version.mk" 3.include "../../lang/llvm/version.mk"
4 4
5DISTNAME= libcxxabi-${LLVM_VERSION}.src 5DISTNAME= libcxxabi-${LLVM_VERSION}.src
6PKGNAME= ${DISTNAME:S/.src//:S/libcxxabi-/wasi-libcxx-/} 6PKGNAME= ${DISTNAME:S/.src//:S/libcxxabi-/wasi-libcxx-/}
7CATEGORIES= lang devel 7CATEGORIES= lang devel
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://libcxxabi.llvm.org/ 10HOMEPAGE= https://libcxxabi.llvm.org/
11COMMENT= C++ Standard Librares (libc++/libc++abi) for WASI/WebAssembly 11COMMENT= C++ Standard Librares (libc++/libc++abi) for WASI/WebAssembly
12LICENSE= apache-2.0 12LICENSE= apache-2.0
13 13
14# libcxx requires libcxxabi's cxxabi.h to build, but libcxxabi requires 14# libcxx requires libcxxabi's cxxabi.h to build, but libcxxabi requires
@@ -157,24 +157,33 @@ post-extract: @@ -157,24 +157,33 @@ post-extract:
157 ${LN} -f -s ${WRKDIR}/${LIBCXX} ${WRKDIR}/libcxx 157 ${LN} -f -s ${WRKDIR}/${LIBCXX} ${WRKDIR}/libcxx
158 ${LN} -f -s ${WRKDIR}/${LLVMDIST} ${WRKDIR}/llvm 158 ${LN} -f -s ${WRKDIR}/${LLVMDIST} ${WRKDIR}/llvm
159 # TODO: not sure what should create this and with which contents 159 # TODO: not sure what should create this and with which contents
160 ${TOUCH} ${WRKDIR}/${LIBCXX}/include/__config_site 160 ${TOUCH} ${WRKDIR}/${LIBCXX}/include/__config_site
161 161
162do-configure: 162do-configure:
163 cd ${WRKSRC} && cd ../build_libcxx && \ 163 cd ${WRKSRC} && cd ../build_libcxx && \
164 ${PKGSRC_SETENV} ${_CONFIGURE_CMAKE_ENV} \ 164 ${PKGSRC_SETENV} ${_CONFIGURE_CMAKE_ENV} \
165 cmake ${CMAKE_ARGS} ../libcxx 165 cmake ${CMAKE_ARGS} ../libcxx
166 cd ${WRKSRC} && cd ../build_libcxxabi && \ 166 cd ${WRKSRC} && cd ../build_libcxxabi && \
167 ${PKGSRC_SETENV} ${_CONFIGURE_CMAKE_ENV} \ 167 ${PKGSRC_SETENV} ${_CONFIGURE_CMAKE_ENV} \
168 cmake ${CMAKE_ARGS} ../libcxxabi 168 cmake ${CMAKE_ARGS} ../libcxxabi
169 169
 170# Run llvm-ranlib again on the archives. Fixes mystery build failure
 171# in Firefox due to missing index (see PR pkg/56590). Might be a MAKE_JOBS
 172# problem in this package?
 173post-install:
 174 ${PREFIX}/bin/llvm-ranlib \
 175 ${DESTDIR}${PREFIX}/wasi/lib/wasm32-wasi/libc++.a
 176 ${PREFIX}/bin/llvm-ranlib \
 177 ${DESTDIR}${PREFIX}/wasi/lib/wasm32-wasi/libc++abi.a
 178
170.include "../../lang/llvm/buildlink3.mk" 179.include "../../lang/llvm/buildlink3.mk"
171.include "../../lang/wasi-libc/buildlink3.mk" 180.include "../../lang/wasi-libc/buildlink3.mk"
172.include "../../lang/wasi-compiler-rt/buildlink3.mk" 181.include "../../lang/wasi-compiler-rt/buildlink3.mk"
173ABI= # 32 182ABI= # 32
174CFLAGS= -O2 183CFLAGS= -O2
175CXXFLAGS= -O2 184CXXFLAGS= -O2
176PKGSRC_COMPILER= clang 185PKGSRC_COMPILER= clang
177CLANGBASE= ${PREFIX} 186CLANGBASE= ${PREFIX}
178BUILDLINK_DEPMETHOD.clang= build 187BUILDLINK_DEPMETHOD.clang= build
179.include "../../lang/clang/buildlink3.mk" 188.include "../../lang/clang/buildlink3.mk"
180.include "../../mk/bsd.pkg.mk" 189.include "../../mk/bsd.pkg.mk"