mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
Toolchain upgrades
CI/FreeBSD: unbreak build with bundled libc++ 12 Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
This commit is contained in:
parent
dc2ec17886
commit
64a109d28a
8 changed files with 21 additions and 22 deletions
|
@ -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
|
||||||
|
|
|
@ -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}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
14
BUILDING.md
14
BUILDING.md
|
@ -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`).
|
||||||
|
|
|
@ -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()
|
||||||
|
|
||||||
|
|
|
@ -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
2
llvm
|
@ -1 +1 @@
|
||||||
Subproject commit 5d8643e8eb3fcc60d8ca04b0aa61f6fd0722a0a8
|
Subproject commit 4d88105d4a89f2f74518e3f1170af7bff2b00324
|
Loading…
Add table
Add a link
Reference in a new issue