diff options
| author | Dan Engelbrecht <[email protected]> | 2023-08-22 14:16:42 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-08-22 14:16:42 +0200 |
| commit | 013e0360db889f33def16c0cdbff370267819155 (patch) | |
| tree | 0de8e7f47aacba05d16f282ef1f6aba736cb5337 /scripts/ue_build_linux/get_ue_toolchain.sh | |
| parent | Fix construction order in OpenProcessCache (#374) (diff) | |
| download | zen-013e0360db889f33def16c0cdbff370267819155.tar.xz zen-013e0360db889f33def16c0cdbff370267819155.zip | |
revive UE toolchain build (#343)
* add comment about 7z usage in xmake bundle
* add ue-libcxx lib/headers and licence + tps
* update get_ue_toolchain.sh to use embedded libc++ and decouple from p4
* clearer output when falling back to zip from 7z
* update ci scripts to use ue toolchain on linux
* updated linux build README.md
* changelog
Diffstat (limited to 'scripts/ue_build_linux/get_ue_toolchain.sh')
| -rwxr-xr-x | scripts/ue_build_linux/get_ue_toolchain.sh | 58 |
1 files changed, 22 insertions, 36 deletions
diff --git a/scripts/ue_build_linux/get_ue_toolchain.sh b/scripts/ue_build_linux/get_ue_toolchain.sh index 67fd922c2..f4a1b58d4 100755 --- a/scripts/ue_build_linux/get_ue_toolchain.sh +++ b/scripts/ue_build_linux/get_ue_toolchain.sh @@ -1,5 +1,8 @@ #!/bin/bash +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +ZEN_ROOT=$(realpath $SCRIPT_DIR/../..) + die() { echo "ERROR: $1"; exit; } if [ -z $1 ]; then @@ -18,47 +21,30 @@ fi mkdir -p $1 cd $1 -p4 login -s -if [ $? -gt 0 ]; then - die "Not logged into Perforce" -fi - -# Perforce paths -if [ -z $AUTOSDK_PATH ]; then - AUTOSDK_PATH=//depot/CarefullyRedist/HostLinux/Linux_x64/v21_clang-15.0.1-centos7/x86_64-unknown-linux-gnu -fi - -if [ -z $UE_PATH ]; then - UE_PATH=//UE5/Main -fi - -if [ -z $UE_LIBCXX_PATH ]; then - UE_LIBCXX_PATH=$UE_PATH/Engine/Source/ThirdParty/Unix/LibCxx -fi +mkdir -p tmp +cd tmp -p4_print() { - echo -n $1 - p4 print -q -o$2/$(basename $1) $1 - echo -} +#CLANG_VERSION=v21_clang-15.0.1-centos7 +CLANG_VERSION=v22_clang-16.0.6-centos7 +TOOLCHAIN_PLATFORM=x86_64-unknown-linux-gnu -# toolchain -p4_print $AUTOSDK_PATH/bin/clang* bin -#p4_print $AUTOSDK_PATH/bin/lld bin +echo "Fetching UE toolchain $CLANG_VERSION..." +wget -q --show-progress http://cdn.unrealengine.com/Toolchain_Linux/native-linux-$CLANG_VERSION.tar.gz -p4_print $AUTOSDK_PATH/lib/gcc/... lib/gcc -p4_print $AUTOSDK_PATH/lib/clang/*/include/... lib/clang/*/include +echo "Extracting toolchain $TOOLCHAIN_PLATFORM..." +tar -xzf native-linux-$CLANG_VERSION.tar.gz $CLANG_VERSION/$TOOLCHAIN_PLATFORM/ +mv $CLANG_VERSION/$TOOLCHAIN_PLATFORM/* .. -# headers -p4_print $AUTOSDK_PATH/usr/include/...h usr/include - -# libraries -p4_print $AUTOSDK_PATH/lib64/* lib64 -p4_print $AUTOSDK_PATH/usr/lib64/* usr/lib64 +cd .. +rm -rf tmp +rm -rf usr/lib mkdir -p usr/lib mv usr/lib64/*.o usr/lib -# ue's libc++ -p4_print $UE_LIBCXX_PATH/include/... include -p4_print $UE_LIBCXX_PATH/lib/Unix/x86_64-unknown-linux-gnu/* lib64 +echo "Fetching UE headers and libc++ from $ZEN_ROOT/thirdparty/ue-libcxx..." +cp -r $ZEN_ROOT/thirdparty/ue-libcxx/include/* ./include +mkdir -p ./lib64 +cp -r $ZEN_ROOT/thirdparty/ue-libcxx/lib64/* ./lib64 + +echo "Done" |