Files
UnrealEngineUWP/Engine/Build/BatchFiles/Linux/Toolchain/RunMe.sh
Marc Audy 50a3d7d368 Merge Release-Engine-Staging to Main @ CL# 14467590
This represents UE4/Main @ 14432125 + some cherrypick fixes

[CL 14468207 by Marc Audy in ue5-main branch]
2020-10-09 22:42:26 -04:00

59 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
set -eu
SCRIPT_DIR=$(cd "$(dirname "$BASH_SOURCE")" ; pwd)
SCRIPT_NAME=$(basename "$BASH_SOURCE")
# https://stackoverflow.com/questions/23513045/how-to-check-if-a-process-is-running-inside-docker-container
if ! $(grep -q "/docker/" /proc/1/cgroup); then
##############################################################################
# host commands
##############################################################################
ImageName=build_linux_toolchain
echo docker run -t --name ${ImageName} -v "${SCRIPT_DIR}:/src" centos:7 /src/${SCRIPT_NAME}
docker run -t --name ${ImageName} -v "${SCRIPT_DIR}:/src" centos:7 /src/${SCRIPT_NAME}
# Use if you want a shell when a command fails in the script
# docker run -it --name ${ImageName} -v "${SCRIPT_DIR}:/src" centos:7 bash -c "/src/${SCRIPT_NAME}; bash"
echo Removing ${ImageName}...
docker rm ${ImageName}
else
DOCKER_BUILD_DIR=/src/build
if [ $UID -eq 0 ]; then
##############################################################################
# docker root commands
##############################################################################
yum install -y epel-release centos-release-scl dnf dnf-plugins-core
# needed for mingw due to https://pagure.io/fesco/issue/2333
dnf -y copr enable alonid/mingw-epel7
yum install -y ncurses-devel patch llvm-toolset-7 llvm-toolset-7-llvm-devel make cmake3 tree zip \
git wget which gcc-c++ gperf bison flex texinfo bzip2 help2man file unzip autoconf libtool \
glibc-static libstdc++-devel libstdc++-static mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static \
devtoolset-7-gcc libisl-devel
# Create non-privileged user and workspace
adduser buildmaster
mkdir -p ${DOCKER_BUILD_DIR}
chown buildmaster:nobody -R ${DOCKER_BUILD_DIR}
exec su buildmaster "$0"
fi
##############################################################################
# docker user level commands
##############################################################################
cd ${DOCKER_BUILD_DIR}
/src/build_linux_toolchain.sh
fi