diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2021-11-29 23:57:33 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2021-11-30 00:57:08 +0000 |
commit | 30ccf5784223c05cc3b06b768b1dc4c57b596a15 (patch) | |
tree | e5e6d2cc964a7537ccdb41efcdcf667c6fbd5e15 /emulators | |
parent | emulators/yuzu: update to s20211129 (diff) |
emulators/rpcs3: unbreak on FreeBSD 12.2 via full libc++
Link statically to avoid ABI mismatch with in-base libc++.
Building libc++ requires full LLVM source, so align with devel/llvm12.
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/rpcs3/Makefile | 14 | ||||
-rw-r--r-- | emulators/rpcs3/distinfo | 4 |
2 files changed, 12 insertions, 6 deletions
diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile index d42fc9f7729e..0f36939fa0f0 100644 --- a/emulators/rpcs3/Makefile +++ b/emulators/rpcs3/Makefile @@ -17,7 +17,6 @@ LIB_DEPENDS= libcurl.so:ftp/curl \ libpng.so:graphics/png \ libavcodec.so:multimedia/ffmpeg -BROKEN_FreeBSD_12= ld: error: undefined symbol: std::__1::__cxx_atomic_notify_one ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= requires int128 and SSE2 @@ -101,9 +100,16 @@ CPP= clang-cpp${LLVM_DEFAULT} # XXX Drop after FreeBSD 12.2 EOL .if make(makesum) || (!exists(/usr/include/c++/v1/__bits) && exists(/usr/lib/libc++.so)) MASTER_SITES+= https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VER}/:libcxx -DISTFILES+= libcxx-${LLVM_VER}.src.tar.xz:libcxx -CXXFLAGS+= -nostdinc++ -D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS -isystem${WRKDIR}/libcxx-${LLVM_VER}.src/include -LLVM_VER= 12.0.0 +DISTFILES+= llvm-project-${LLVM_VER}.src.tar.xz:libcxx +CXXFLAGS+= -nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1 +LDFLAGS+= -nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt +LLVM_VER= 12.0.1 + +pre-configure: + @${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:M*Ninja*} \ + -DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \ + -B ${WRKDIR}/libcxx_build -S ${WRKDIR}/llvm-project-${LLVM_VER}.src/libcxx + @${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build .endif .include <bsd.port.post.mk> diff --git a/emulators/rpcs3/distinfo b/emulators/rpcs3/distinfo index 24656d58d9d6..644e5ae02795 100644 --- a/emulators/rpcs3/distinfo +++ b/emulators/rpcs3/distinfo @@ -1,6 +1,6 @@ TIMESTAMP = 1638053061 -SHA256 (libcxx-12.0.0.src.tar.xz) = 7dcb75ca4f6aae2c677d128460c48a57398c8b6791b77b74bea7cf9e04e7c3f1 -SIZE (libcxx-12.0.0.src.tar.xz) = 1880864 +SHA256 (llvm-project-12.0.1.src.tar.xz) = 129cb25cd13677aad951ce5c2deb0fe4afc1e9d98950f53b51bdcfb5a73afa0e +SIZE (llvm-project-12.0.1.src.tar.xz) = 90910004 SHA256 (RPCS3-rpcs3-v0.0.19-13056-g38bfefcdf_GH0.tar.gz) = a91a793f5a037f35963ba61182a537122ffa79c68affa374858d78d4dfe96a1f SIZE (RPCS3-rpcs3-v0.0.19-13056-g38bfefcdf_GH0.tar.gz) = 8163177 SHA256 (RPCS3-hidapi-hidapi-0.8.0-rc1-125-g01f601a_GH0.tar.gz) = d6aecf7a9e4d6f4935f1da5fd29cb8011f76567c8e5b571b7410e2fa6942bf37 |