Toolchain upgrades

CI/FreeBSD: unbreak build with bundled libc++ 12

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
This commit is contained in:
xddxd 2021-04-13 16:02:18 +03:00 committed by Ivan
parent dc2ec17886
commit 64a109d28a
8 changed files with 21 additions and 22 deletions

View file

@ -7,10 +7,10 @@ git submodule -q update --init --depth 1 $(awk '/path/ && !/llvm/ { print $3 }'
# Prefer newer Clang than in base system (see also .ci/install-freebsd.sh) # Prefer newer Clang than in base system (see also .ci/install-freebsd.sh)
# libc++ isn't in llvm* packages, so download manually # libc++ isn't in llvm* packages, so download manually
fetch https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/libcxx-11.0.0.src.tar.xz fetch https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/libcxx-12.0.0.src.tar.xz
tar xf libcxx-11.0.0.src.tar.xz tar xf libcxx-12.0.0.src.tar.xz
export CC=clang11 CXX=clang++11 export CC=clang12 CXX=clang++12
export CXXFLAGS="$CXXFLAGS -nostdinc++ -isystem $PWD/libcxx-11.0.0.src/include" export CXXFLAGS="$CXXFLAGS -nostdinc++ -D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS -isystem $PWD/libcxx-12.0.0.src/include"
CONFIGURE_ARGS=" CONFIGURE_ARGS="
-DWITH_LLVM=OFF -DWITH_LLVM=OFF

View file

@ -12,7 +12,6 @@ if [ "$DEPLOY_APPIMAGE" = "true" ]; then
./squashfs-root/AppRun ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs ./squashfs-root/AppRun ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
ls ./appdir/usr/lib/ ls ./appdir/usr/lib/
rm -r ./appdir/usr/share/doc rm -r ./appdir/usr/share/doc
rm ./appdir/usr/lib/libxcb*
cp "$(readlink -f /lib/x86_64-linux-gnu/libnsl.so.1)" ./appdir/usr/lib/libnsl.so.1 cp "$(readlink -f /lib/x86_64-linux-gnu/libnsl.so.1)" ./appdir/usr/lib/libnsl.so.1
export PATH=/rpcs3/build/squashfs-root/usr/bin/:${PATH} export PATH=/rpcs3/build/squashfs-root/usr/bin/:${PATH}

View file

@ -9,7 +9,7 @@ export ASSUME_ALWAYS_YES=true
pkg info # debug pkg info # debug
# Prefer newer Clang than in base system (see also .ci/build-freebsd.sh) # Prefer newer Clang than in base system (see also .ci/build-freebsd.sh)
pkg install llvm11 pkg install llvm12
# Mandatory dependencies (qt5-dbus and qt5-gui are pulled via qt5-widgets) # Mandatory dependencies (qt5-dbus and qt5-gui are pulled via qt5-widgets)
pkg install git ccache cmake ninja qt5-qmake qt5-buildtools qt5-widgets qt5-concurrent glew openal-soft ffmpeg pkg install git ccache cmake ninja qt5-qmake qt5-buildtools qt5-widgets qt5-concurrent glew openal-soft ffmpeg

View file

@ -60,7 +60,7 @@ windows_task:
linux_task: linux_task:
container: container:
image: rpcs3/rpcs3-travis-xenial:1.7 image: rpcs3/rpcs3-ci-bionic:1.0
cpu: 4 cpu: 4
memory: 16G memory: 16G
env: env:

View file

@ -19,8 +19,8 @@ Other instructions may be found [here](https://wiki.rpcs3.net/index.php?title=Bu
These are the essentials tools to build RPCS3 on Linux. Some of them can be installed through your favorite package manager. These are the essentials tools to build RPCS3 on Linux. Some of them can be installed through your favorite package manager.
* Clang 11+ or GCC 9+ * Clang 12+ or GCC 10+
* [CMake 3.14.1+](https://www.cmake.org/download/) * [CMake 3.16.9+](https://www.cmake.org/download/)
* [Qt 5.15.2](https://www.qt.io/download-qt-installer) * [Qt 5.15.2](https://www.qt.io/download-qt-installer)
* [Vulkan SDK 1.1.126+](https://vulkan.lunarg.com/sdk/home) (See "Install the SDK" [here](https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html)) * [Vulkan SDK 1.1.126+](https://vulkan.lunarg.com/sdk/home) (See "Install the SDK" [here](https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html))
* [SDL2](https://www.libsdl.org/download-2.0.php) (for the FAudio backend) * [SDL2](https://www.libsdl.org/download-2.0.php) (for the FAudio backend)
@ -47,16 +47,16 @@ sudo apt-get install qt515base qt515svg
. /opt/qt515/bin/qt515-env.sh >/dev/null 2>&1 . /opt/qt515/bin/qt515-env.sh >/dev/null 2>&1
``` ```
##### GCC 9.x installation ##### GCC 10.x installation
If the `gcc-9` package is not available on your system, use the following commands If the `gcc-10` package is not available on your system, use the following commands
``` ```
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update sudo apt-get update
sudo apt-get install gcc-9 g++-9 sudo apt-get install gcc-10 g++-10
``` ```
You can either use `update-alternatives` to setup `gcc-9`/`g++-9` as your default compilers or prefix any `cmake` command by `CXX=g++-9 CC=gcc-9 ` to use it. You can either use `update-alternatives` to setup `gcc-10`/`g++-10` as your default compilers or prefix any `cmake` command by `CXX=g++-10 CC=gcc-10 ` to use it.
##### Vulkan SDK ##### Vulkan SDK
@ -126,7 +126,7 @@ Afterwards:
While still in the project root: While still in the project root:
1) `cd .. && mkdir rpcs3_build && cd rpcs3_build` 1) `cd .. && mkdir rpcs3_build && cd rpcs3_build`
2) `cmake ../rpcs3/ && make` or `CXX=g++-9 CC=gcc-9 cmake ../rpcs3/ && make` to force these compilers 2) `cmake ../rpcs3/ && make` or `CXX=g++-10 CC=gcc-10 cmake ../rpcs3/ && make` to force these compilers
3) Run RPCS3 with `./bin/rpcs3` 3) Run RPCS3 with `./bin/rpcs3`
When using GDB, configure it to ignore SIGSEGV signal (`handle SIGSEGV nostop noprint`). When using GDB, configure it to ignore SIGSEGV signal (`handle SIGSEGV nostop noprint`).

View file

@ -1,14 +1,14 @@
cmake_minimum_required(VERSION 3.14.1) cmake_minimum_required(VERSION 3.16.9)
project(rpcs3) project(rpcs3)
if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9) if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10)
message(FATAL_ERROR "RPCS3 requires at least gcc-9.") message(FATAL_ERROR "RPCS3 requires at least gcc-10.")
endif() endif()
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0) if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.0)
message(FATAL_ERROR "RPCS3 requires at least clang-11.0.") message(FATAL_ERROR "RPCS3 requires at least clang-12.0.")
endif() endif()
endif() endif()

View file

@ -35,13 +35,13 @@ jobs:
displayName: ccache displayName: ccache
- bash: | - bash: |
docker pull --quiet rpcs3/rpcs3-travis-xenial:1.7 docker pull --quiet rpcs3/rpcs3-ci-bionic:1.0
docker run \ docker run \
-v $(pwd):/rpcs3 \ -v $(pwd):/rpcs3 \
--env-file .ci/docker.env \ --env-file .ci/docker.env \
-v $CCACHE_DIR:/root/.ccache \ -v $CCACHE_DIR:/root/.ccache \
-v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \ -v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \
rpcs3/rpcs3-travis-xenial:1.7 \ rpcs3/rpcs3-ci-bionic:1.0 \
/rpcs3/.ci/build-linux.sh /rpcs3/.ci/build-linux.sh
displayName: Docker setup and build displayName: Docker setup and build

2
llvm

@ -1 +1 @@
Subproject commit 5d8643e8eb3fcc60d8ca04b0aa61f6fd0722a0a8 Subproject commit 4d88105d4a89f2f74518e3f1170af7bff2b00324