2024-09-29 04:07:27 +02:00
|
|
|
#!/bin/sh -ex
|
|
|
|
|
|
2025-06-08 16:33:45 +02:00
|
|
|
cd rpcs3 || exit 1
|
2024-09-29 04:07:27 +02:00
|
|
|
|
2025-04-29 21:39:50 +02:00
|
|
|
shellcheck .ci/*.sh
|
|
|
|
|
|
2024-09-29 04:11:21 +02:00
|
|
|
git config --global --add safe.directory '*'
|
|
|
|
|
|
2025-06-13 02:05:15 +02:00
|
|
|
# Pull all the submodules except some
|
2024-09-29 04:11:21 +02:00
|
|
|
# shellcheck disable=SC2046
|
2025-06-13 02:05:15 +02:00
|
|
|
git submodule -q update --init $(awk '/path/ && !/llvm/ && !/opencv/ && !/libsdl-org/ && !/curl/ && !/zlib/ { print $3 }' .gitmodules)
|
2024-09-29 04:11:21 +02:00
|
|
|
|
|
|
|
|
mkdir build && cd build || exit 1
|
|
|
|
|
|
2025-01-19 10:59:37 +01:00
|
|
|
if [ "$COMPILER" = "gcc" ]; then
|
|
|
|
|
# These are set in the dockerfile
|
|
|
|
|
export CC="${GCC_BINARY}"
|
|
|
|
|
export CXX="${GXX_BINARY}"
|
|
|
|
|
export LINKER=gold
|
|
|
|
|
else
|
|
|
|
|
export CC="${CLANG_BINARY}"
|
|
|
|
|
export CXX="${CLANGXX_BINARY}"
|
|
|
|
|
export LINKER="${LLD_BINARY}"
|
|
|
|
|
fi
|
2025-04-26 20:17:16 +02:00
|
|
|
|
|
|
|
|
export LINKER_FLAG="-fuse-ld=${LINKER}"
|
2024-09-29 04:07:27 +02:00
|
|
|
|
|
|
|
|
cmake .. \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
|
|
|
|
-DUSE_NATIVE_INSTRUCTIONS=OFF \
|
|
|
|
|
-DUSE_PRECOMPILED_HEADERS=OFF \
|
2025-04-26 20:17:16 +02:00
|
|
|
-DCMAKE_EXE_LINKER_FLAGS="${LINKER_FLAG}" \
|
|
|
|
|
-DCMAKE_MODULE_LINKER_FLAGS="${LINKER_FLAG}" \
|
|
|
|
|
-DCMAKE_SHARED_LINKER_FLAGS="${LINKER_FLAG}" \
|
2024-09-29 04:07:27 +02:00
|
|
|
-DUSE_SYSTEM_CURL=ON \
|
|
|
|
|
-DUSE_SDL=ON \
|
|
|
|
|
-DUSE_SYSTEM_SDL=ON \
|
|
|
|
|
-DUSE_SYSTEM_FFMPEG=OFF \
|
2024-11-16 11:03:42 +01:00
|
|
|
-DUSE_SYSTEM_OPENCV=ON \
|
2024-09-29 04:07:27 +02:00
|
|
|
-DUSE_DISCORD_RPC=ON \
|
|
|
|
|
-DOpenGL_GL_PREFERENCE=LEGACY \
|
2024-10-12 03:50:47 +02:00
|
|
|
-DLLVM_DIR=/opt/llvm/lib/cmake/llvm \
|
2024-09-29 04:07:27 +02:00
|
|
|
-DSTATIC_LINK_LLVM=ON \
|
2025-05-01 12:57:46 +02:00
|
|
|
-DBUILD_RPCS3_TESTS="${RUN_UNIT_TESTS}" \
|
|
|
|
|
-DRUN_RPCS3_TESTS="${RUN_UNIT_TESTS}" \
|
2024-09-29 04:07:27 +02:00
|
|
|
-G Ninja
|
|
|
|
|
|
|
|
|
|
ninja; build_status=$?;
|
|
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
|
|
# If it compiled succesfully let's deploy.
|
2025-06-08 16:33:45 +02:00
|
|
|
if [ "$build_status" -eq 0 ]; then
|
2024-09-29 04:07:27 +02:00
|
|
|
.ci/deploy-linux.sh "aarch64"
|
2024-09-30 01:20:16 +02:00
|
|
|
fi
|