mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-11-22 00:48:09 +01:00
Added the tools from broken seals directly to this repo.
This commit is contained in:
parent
408cd17225
commit
211c1ce8fb
12
misc/build-containers/.gitignore
vendored
Normal file
12
misc/build-containers/.gitignore
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
*.tar
|
||||
*.tar.gz
|
||||
*.tar.bz2
|
||||
*.tar.xz
|
||||
*.exe
|
||||
*.swp
|
||||
*.dmg
|
||||
*.zip
|
||||
*.xip
|
||||
|
||||
files/mono-*/
|
||||
logs/
|
18
misc/build-containers/Dockerfile.android
Normal file
18
misc/build-containers/Dockerfile.android
Normal file
@ -0,0 +1,18 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
ENV ANDROID_SDK_ROOT=/root/sdk
|
||||
ENV ANDROID_NDK_VERSION=21.4.7075529
|
||||
ENV ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk/${ANDROID_NDK_VERSION}
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
gcc gcc-c++ java-11-openjdk-devel ncurses-compat-libs && \
|
||||
mkdir -p sdk && cd sdk && \
|
||||
export CMDLINETOOLS=commandlinetools-linux-7302050_latest.zip && \
|
||||
curl -LO https://dl.google.com/android/repository/${CMDLINETOOLS} && \
|
||||
unzip ${CMDLINETOOLS} && \
|
||||
rm ${CMDLINETOOLS} && \
|
||||
yes | cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --licenses && \
|
||||
cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" "ndk;${ANDROID_NDK_VERSION}" 'cmdline-tools;latest' 'build-tools;30.0.3' 'platforms;android-30' 'cmake;3.18.1'
|
||||
|
||||
CMD /bin/bash
|
10
misc/build-containers/Dockerfile.base
Normal file
10
misc/build-containers/Dockerfile.base
Normal file
@ -0,0 +1,10 @@
|
||||
FROM fedora:34
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
RUN dnf -y upgrade --setopt=install_weak_deps=False && \
|
||||
dnf -y install --setopt=install_weak_deps=False \
|
||||
bash bzip2 curl file findutils git make nano patch pkgconfig python3-pip unzip which xz yasm && \
|
||||
pip install scons==4.1.0
|
||||
|
||||
CMD /bin/bash
|
39
misc/build-containers/Dockerfile.ios
Normal file
39
misc/build-containers/Dockerfile.ios
Normal file
@ -0,0 +1,39 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-osx:${img_version}
|
||||
|
||||
ENV IOS_SDK=14.5
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
automake autoconf clang gcc gcc-c++ gcc-objc gcc-objc++ cmake libicu-devel libtool libxml2-devel llvm-devel openssl-devel perl python yasm && \
|
||||
git clone --progress https://github.com/tpoechtrager/cctools-port.git && \
|
||||
cd /root/cctools-port && \
|
||||
git checkout 236a426c1205a3bfcf0dbb2e2faf2296f0a100e5 && \
|
||||
# arm64 device
|
||||
usage_examples/ios_toolchain/build.sh /root/files/iPhoneOS${IOS_SDK}.sdk.tar.xz arm64 && \
|
||||
mkdir -p /root/ioscross/arm64 && \
|
||||
mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64 && \
|
||||
mkdir /root/ioscross/arm64/usr && \
|
||||
ln -s /root/ioscross/arm64/bin /root/ioscross/arm64/usr/bin && \
|
||||
# arm64 simulator
|
||||
# Disabled for now as it doesn't work with cctools-port and current LLVM:
|
||||
# Cf. https://github.com/tpoechtrager/cctools-port/issues/102
|
||||
#sed -i 's/miphoneos-version-min/mios-simulator-version-min/g' usage_examples/ios_toolchain/wrapper.c && \
|
||||
#usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz arm64 && \
|
||||
#mkdir -p /root/ioscross/arm64_sim && \
|
||||
#mv usage_examples/ios_toolchain/target/* /root/ioscross/arm64_sim && \
|
||||
#mkdir /root/ioscross/arm64_sim/usr && \
|
||||
#ln -s /root/ioscross/arm64_sim/bin /root/ioscross/arm64_sim/usr/bin && \
|
||||
# x86_64 simulator
|
||||
sed -i 's#^TRIPLE=.*#TRIPLE="x86_64-apple-darwin11"#' usage_examples/ios_toolchain/build.sh && \
|
||||
usage_examples/ios_toolchain/build.sh /root/files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz x86_64 && \
|
||||
mkdir -p /root/ioscross/x86_64_sim && \
|
||||
mv usage_examples/ios_toolchain/target/* /root/ioscross/x86_64_sim && \
|
||||
mkdir /root/ioscross/x86_64_sim/usr && \
|
||||
ln -s /root/ioscross/x86_64_sim/bin /root/ioscross/x86_64_sim/usr/bin
|
||||
|
||||
|
||||
ENV OSXCROSS_IOS=not_nothing
|
||||
ENV IOSCROSS_ROOT=/root/ioscross
|
||||
ENV PATH="/root/ioscross/arm64/bin:/root/ioscross/arm64_sim/bin:/root/ioscross/x86_64_sim/bin:${PATH}"
|
||||
|
||||
CMD /bin/bash
|
13
misc/build-containers/Dockerfile.javascript
Normal file
13
misc/build-containers/Dockerfile.javascript
Normal file
@ -0,0 +1,13 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
ENV EMSCRIPTEN_CLASSICAL=2.0.25
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
java-openjdk && \
|
||||
git clone --branch ${EMSCRIPTEN_CLASSICAL} --progress https://github.com/emscripten-core/emsdk emsdk_${EMSCRIPTEN_CLASSICAL} && \
|
||||
emsdk_${EMSCRIPTEN_CLASSICAL}/emsdk install ${EMSCRIPTEN_CLASSICAL} && \
|
||||
emsdk_${EMSCRIPTEN_CLASSICAL}/emsdk activate ${EMSCRIPTEN_CLASSICAL}
|
||||
# echo "source /root/emsdk_${EMSCRIPTEN_CLASSICAL}/emsdk_env.sh" >> /root/.bashrc
|
||||
|
||||
CMD /bin/bash
|
7
misc/build-containers/Dockerfile.linux
Normal file
7
misc/build-containers/Dockerfile.linux
Normal file
@ -0,0 +1,7 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
gcc-c++ libxcrypt-compat xorg-x11-server-Xvfb libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel libXi-devel alsa-lib-devel pulseaudio-libs-devel libudev-devel mesa-libGL-devel mesa-libGLU-devel mesa-dri-drivers yasm libstdc++ libstdc++-static
|
||||
|
||||
CMD /bin/bash
|
29
misc/build-containers/Dockerfile.msvc
Normal file
29
misc/build-containers/Dockerfile.msvc
Normal file
@ -0,0 +1,29 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
ENV WINEDEBUG=-all
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
wine winetricks xorg-x11-server-Xvfb p7zip-plugins findutils && \
|
||||
curl -LO https://github.com/GodotBuilder/pandemonium-builds/releases/download/_tools/angle.7z && \
|
||||
curl -LO https://www.python.org/ftp/python/3.7.2/python-3.7.2-amd64.exe && \
|
||||
xvfb-run sh -c "winetricks -q vcrun2017; wineserver -w" ;\
|
||||
xvfb-run sh -c "winetricks -q dotnet461; wineserver -w" ;\
|
||||
xvfb-run sh -c "wine /root/python-3.7.2-amd64.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0; wineserver -w" ;\
|
||||
rm /root/python-3.7.2-amd64.exe && \
|
||||
wine python -m pip install --upgrade pip ; wineserver -w ; \
|
||||
wine pip install -U setuptools ; wineserver -w ; \
|
||||
wine pip install -U wheel ; wineserver -w ; \
|
||||
wine pip install scons pywin32 ; wineserver -w ; \
|
||||
cd /root/.wine/drive_c && \
|
||||
7z x /root/angle.7z && \
|
||||
rm /root/angle.7z && \
|
||||
cd "/root/.wine/drive_c/Program Files (x86)" && \
|
||||
tar xf /root/files/msvc2017.tar && \
|
||||
cd /root && \
|
||||
bash /root/files/msvc-fixup.sh && \
|
||||
find /root/.wine -name vctip.exe -delete && \
|
||||
rm -rf /root/.wine/drive_c/users/root/Temp/* && \
|
||||
rm -rf /root/.cache
|
||||
|
||||
CMD /bin/bash
|
18
misc/build-containers/Dockerfile.osx
Normal file
18
misc/build-containers/Dockerfile.osx
Normal file
@ -0,0 +1,18 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
#cmake
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
automake autoconf bzip2-devel clang libicu-devel libtool libxml2-devel llvm-devel openssl-devel yasm cmake && \
|
||||
git clone --progress https://github.com/tpoechtrager/osxcross.git && \
|
||||
cd /root/osxcross && \
|
||||
git checkout 0f87f567dfaf98460244471ad6c0f4311d62079c && \
|
||||
ln -s /root/files/MacOSX11.3.sdk.tar.xz /root/osxcross/tarballs && \
|
||||
UNATTENDED=1 ./build.sh && \
|
||||
./build_compiler_rt.sh
|
||||
|
||||
ENV OSXCROSS_ROOT=/root/osxcross
|
||||
ENV PATH="/root/osxcross/target/bin:${PATH}"
|
||||
|
||||
CMD /bin/bash
|
7
misc/build-containers/Dockerfile.windows
Normal file
7
misc/build-containers/Dockerfile.windows
Normal file
@ -0,0 +1,7 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads-static mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static
|
||||
|
||||
CMD /bin/bash
|
77
misc/build-containers/Dockerfile.xcode
Normal file
77
misc/build-containers/Dockerfile.xcode
Normal file
@ -0,0 +1,77 @@
|
||||
ARG img_version
|
||||
FROM pandemonium-fedora:${img_version}
|
||||
|
||||
RUN dnf -y install --setopt=install_weak_deps=False \
|
||||
clang xar xar-devel xz-devel cpio && \
|
||||
git clone --progress https://github.com/NiklasRosenstein/pbzx && \
|
||||
cd pbzx && \
|
||||
git checkout 2a4d7c3300c826d918def713a24d25c237c8ed53 && \
|
||||
clang -O3 -llzma -lxar -I /usr/local/include pbzx.c -o pbzx
|
||||
|
||||
|
||||
|
||||
CMD mkdir -p /root/xcode && \
|
||||
cd /root/xcode && \
|
||||
xar -xf /root/files/Xcode_12.4.xip && \
|
||||
/root/pbzx/pbzx -n Content | cpio -i && \
|
||||
export OSX_SDK=MacOSX11.1.sdk && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /tmp/${OSX_SDK} && \
|
||||
mkdir -p mkdir -p /tmp/${OSX_SDK}/usr/share/man && \
|
||||
cp -rf Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1 \
|
||||
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man3 \
|
||||
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man5 /tmp/${OSX_SDK}/usr/share/man/ && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${OSX_SDK}.tar.xz ${OSX_SDK} && \
|
||||
rm -rf ${OSX_SDK} && \
|
||||
cd /root/xcode && \
|
||||
export IOS_SDK=iPhoneOS14.4.sdk && \
|
||||
export IOS_SIMULATOR_SDK=iPhoneSimulator14.4.sdk && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /tmp/${IOS_SDK} && \
|
||||
mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
|
||||
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${IOS_SDK}.tar.xz ${IOS_SDK} && \
|
||||
rm -rf ${IOS_SDK} && \
|
||||
cd /root/xcode && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk /tmp/${IOS_SDK} && \
|
||||
mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
|
||||
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${IOS_SIMULATOR_SDK}.tar.xz ${IOS_SDK} && \
|
||||
rm -rf ${IOS_SDK}
|
||||
|
||||
#XCODE_SDK=12.5.1
|
||||
#OSX_SDK=11.3
|
||||
#IOS_SDK=14.5
|
||||
|
||||
CMD mkdir -p /root/xcode && \
|
||||
cd /root/xcode && \
|
||||
xar -xf /root/files/Xcode_12.5.1.xip && \
|
||||
/root/pbzx/pbzx -n Content | cpio -i && \
|
||||
export OSX_SDK=MacOSX11.3.sdk && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk /tmp/${OSX_SDK} && \
|
||||
mkdir -p /tmp/${OSX_SDK}/usr/include/c++ && \
|
||||
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${OSX_SDK}/usr/include/c++/ && \
|
||||
mkdir -p mkdir -p /tmp/${OSX_SDK}/usr/share/man && \
|
||||
cp -rf Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man1 \
|
||||
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man3 \
|
||||
Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/share/man/man5 /tmp/${OSX_SDK}/usr/share/man/ && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${OSX_SDK}.tar.xz ${OSX_SDK} && \
|
||||
rm -rf ${OSX_SDK} && \
|
||||
cd /root/xcode && \
|
||||
export IOS_SDK=iPhoneOS14.5.sdk && \
|
||||
export IOS_SIMULATOR_SDK=iPhoneSimulator14.5.sdk && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk /tmp/${IOS_SDK} && \
|
||||
mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
|
||||
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${IOS_SDK}.tar.xz ${IOS_SDK} && \
|
||||
rm -rf ${IOS_SDK} && \
|
||||
cd /root/xcode && \
|
||||
cp -r Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk /tmp/${IOS_SDK} && \
|
||||
mkdir -p /tmp/${IOS_SDK}/usr/include/c++ && \
|
||||
cp -r Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1 /tmp/${IOS_SDK}/usr/include/c++/ && \
|
||||
cd /tmp && \
|
||||
tar -cJf /root/files/${IOS_SIMULATOR_SDK}.tar.xz ${IOS_SDK} && \
|
||||
rm -rf ${IOS_SDK}
|
10
misc/build-containers/README.md
Normal file
10
misc/build-containers/README.md
Normal file
@ -0,0 +1,10 @@
|
||||
# Godot engine build containers
|
||||
|
||||
Based on https://github.com/godotengine/build-containers
|
||||
|
||||
This repository contains the Dockerfiles for the official Godot engine builds. These containers should help you build Godot for all platforms supported on any machine that can run Docker containers.
|
||||
|
||||
## Building
|
||||
|
||||
There is a 'build.sh' script included to build the containers themselves. The in-container build scripts will follow shortly.
|
||||
|
55
misc/build-containers/build_containers.sh
Executable file
55
misc/build-containers/build_containers.sh
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
podman=`which podman || true`
|
||||
|
||||
if [ -z $podman ]; then
|
||||
echo "podman needs to be in PATH for this script to work."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
files_root=$(pwd)/files
|
||||
img_version=bs
|
||||
|
||||
mkdir -p logs
|
||||
|
||||
export podman_build="$podman build --build-arg img_version=${img_version}"
|
||||
|
||||
$podman build -v ${files_root}:/root/files -t pandemonium-fedora:${img_version} -f Dockerfile.base . 2>&1 | tee logs/base.log
|
||||
$podman_build -t pandemonium-linux:${img_version} -f Dockerfile.linux . 2>&1 | tee logs/linux.log
|
||||
$podman_build -t pandemonium-windows:${img_version} -f Dockerfile.windows --ulimit nofile=65536 . 2>&1 | tee logs/windows.log
|
||||
$podman_build -t pandemonium-javascript:${img_version} -f Dockerfile.javascript . 2>&1 | tee logs/javascript.log
|
||||
$podman_build -t pandemonium-android:${img_version} -f Dockerfile.android . 2>&1 | tee logs/android.log
|
||||
|
||||
XCODE_SDK=12.5.1
|
||||
OSX_SDK=11.3
|
||||
IOS_SDK=14.5
|
||||
if [ ! -e files/MacOSX${OSX_SDK}.sdk.tar.xz ] || [ ! -e files/iPhoneOS${IOS_SDK}.sdk.tar.xz ] || [ ! -e files/iPhoneSimulator${IOS_SDK}.sdk.tar.xz ]; then
|
||||
if [ ! -e files/Xcode_${XCODE_SDK}.xip ]; then
|
||||
echo "files/Xcode_${XCODE_SDK}.xip is required. It can be downloaded from https://developer.apple.com/download/more/ with a valid apple ID."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Building OSX and iOS SDK packages. This will take a while"
|
||||
$podman_build -t pandemonium-xcode-packer:${img_version} -f Dockerfile.xcode -v ${files_root}:/root/files . 2>&1 | tee logs/xcode.log
|
||||
$podman run -it --rm -v ${files_root}:/root/files pandemonium-xcode-packer:${img_version} 2>&1 | tee logs/xcode_packer.log
|
||||
fi
|
||||
|
||||
$podman_build -t pandemonium-osx:${img_version} -v ${files_root}:/root/files -f Dockerfile.osx . 2>&1 | tee logs/osx.log
|
||||
$podman_build -t pandemonium-ios:${img_version} -v ${files_root}:/root/files -f Dockerfile.ios . 2>&1 | tee logs/ios.log
|
||||
|
||||
if [ "${build_msvc}" != "0" ]; then
|
||||
if [ ! -e files/msvc2017.tar ]; then
|
||||
echo
|
||||
echo "files/msvc2017.tar is missing. This file can be created on a Windows 7 or 10 machine by downloading the 'Visual Studio Tools' installer."
|
||||
echo "here: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017"
|
||||
echo "The required components can be installed by running"
|
||||
echo "vs_buildtools.exe --add Microsoft.VisualStudio.Workload.UniversalBuildTools --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop --add Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP.Native --passive"
|
||||
echo "after that create a zipfile of C:/Program Files (x86)/Microsoft Visual Studio"
|
||||
echo "tar -cf msvc2017.tar -C \"c:/Program Files (x86)/ Microsoft Visual Studio\""
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$podman_build -t pandemonium-msvc:${img_version} -f Dockerfile.msvc -v ${files_root}:/root/files . 2>&1 | tee logs/msvc.log
|
||||
fi
|
24
misc/build-containers/files/msvc-fixup.sh
Executable file
24
misc/build-containers/files/msvc-fixup.sh
Executable file
@ -0,0 +1,24 @@
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/msobj140.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/arm/
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/msobj140.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x86/
|
||||
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/mspdbcore.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/arm/
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/mspdbcore.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x86/
|
||||
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/mspdb140.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/mspdb140.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/arm/
|
||||
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/msobj140.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/msobj140.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/arm/
|
||||
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/mspdbcore.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/mspdbcore.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/arm/
|
||||
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/mspdbsrv.exe /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/mspdbsrv.exe /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/arm/
|
||||
|
||||
cp /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/msvcdis140.dll /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx64/arm/
|
||||
|
||||
pushd /root/.wine/drive_c/Program\ Files\ \(x86\)/Microsoft\ SDKs/
|
||||
rm -rf ClickOnce\ Bootstrapper/ Portable/ Windows NuGetPackages/ UWPNuGetPackages/
|
||||
popd
|
||||
|
@ -0,0 +1,118 @@
|
||||
From b875d7c1360c8ff2077463d7a5a12e1cff1cc683 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= <rverschelde@gmail.com>
|
||||
Date: Mon, 12 Jul 2021 13:34:32 +0200
|
||||
Subject: [PATCH] compiler-rt: Add option to automate install process
|
||||
|
||||
Also mention that compiler-rt can be needed to build code using
|
||||
`__builtin_available()`.
|
||||
|
||||
Fixes #278.
|
||||
---
|
||||
README.COMPILER-RT.md | 4 ++++
|
||||
README.md | 3 +++
|
||||
build_compiler_rt.sh | 33 ++++++++++++++++++++++++---------
|
||||
3 files changed, 31 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/README.COMPILER-RT.md b/README.COMPILER-RT.md
|
||||
index b2754dfcf..dced89686 100644
|
||||
--- a/README.COMPILER-RT.md
|
||||
+++ b/README.COMPILER-RT.md
|
||||
@@ -10,6 +10,10 @@ Ensure you have finished `build.sh`,
|
||||
|
||||
then run: `./build_compiler_rt.sh`.
|
||||
|
||||
+By default, installation steps for compiler-rt will be printed to the terminal
|
||||
+to run manually, but you can automate the installation process by defining
|
||||
+`ENABLE_COMPILER_RT_INSTALL`.
|
||||
+
|
||||
You can verify compiler-rt is working by invoking the following command:
|
||||
|
||||
echo "int main(void){return 0;}" | xcrun clang -xc -o/dev/null -v - 2>&1 | \
|
||||
diff --git a/README.md b/README.md
|
||||
index 60d19f917..f32bf626c 100644
|
||||
--- a/README.md
|
||||
+++ b/README.md
|
||||
@@ -33,6 +33,9 @@ It also includes scripts for optionally building
|
||||
* the "compiler-rt" runtime library, and
|
||||
* the `llvm-dsymutil` tool required for debugging.
|
||||
|
||||
+Note: The "compiler-rt" library can be needed to link code that uses the
|
||||
+`__builtin_available()` runtime version check.
|
||||
+
|
||||
|
||||
### WHAT CAN BE BUILT WITH IT? ###
|
||||
|
||||
diff --git a/build_compiler_rt.sh b/build_compiler_rt.sh
|
||||
index 8f47262a2..508742cab 100755
|
||||
--- a/build_compiler_rt.sh
|
||||
+++ b/build_compiler_rt.sh
|
||||
@@ -182,22 +182,39 @@ fi
|
||||
rm -f $BUILD_DIR/.compiler-rt_build_complete
|
||||
|
||||
|
||||
+# Installation. Can be either automated (ENABLE_COMPILER_RT_INSTALL) or will
|
||||
+# print the commands that the user should run manually.
|
||||
+
|
||||
+function print_or_run() {
|
||||
+ if [ -z "$ENABLE_COMPILER_RT_INSTALL" ]; then
|
||||
+ echo "$@"
|
||||
+ else
|
||||
+ $@
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
echo ""
|
||||
echo ""
|
||||
echo ""
|
||||
-echo "Please run the following commands by hand to install compiler-rt:"
|
||||
+if [ -z "$ENABLE_COMPILER_RT_INSTALL" ]; then
|
||||
+ echo "Please run the following commands by hand to install compiler-rt:"
|
||||
+else
|
||||
+ echo "Installing compiler-rt headers and libraries to the following paths:"
|
||||
+ echo " ${CLANG_INCLUDE_DIR}"
|
||||
+ echo " ${CLANG_DARWIN_LIB_DIR}"
|
||||
+fi
|
||||
echo ""
|
||||
|
||||
-echo "mkdir -p ${CLANG_INCLUDE_DIR}"
|
||||
-echo "mkdir -p ${CLANG_DARWIN_LIB_DIR}"
|
||||
-echo "cp -rv $BUILD_DIR/compiler-rt/compiler-rt/include/sanitizer ${CLANG_INCLUDE_DIR}"
|
||||
+print_or_run mkdir -p ${CLANG_INCLUDE_DIR}
|
||||
+print_or_run mkdir -p ${CLANG_DARWIN_LIB_DIR}
|
||||
+print_or_run cp -rv $BUILD_DIR/compiler-rt/compiler-rt/include/sanitizer ${CLANG_INCLUDE_DIR}
|
||||
|
||||
if [ $USE_CMAKE -eq 1 ]; then
|
||||
|
||||
### CMAKE ###
|
||||
|
||||
- echo "cp -v $BUILD_DIR/compiler-rt/compiler-rt/build/lib/darwin/*.a ${CLANG_DARWIN_LIB_DIR}"
|
||||
- echo "cp -v $BUILD_DIR/compiler-rt/compiler-rt/build/lib/darwin/*.dylib ${CLANG_DARWIN_LIB_DIR}"
|
||||
+ print_or_run cp -v $BUILD_DIR/compiler-rt/compiler-rt/build/lib/darwin/*.a ${CLANG_DARWIN_LIB_DIR}
|
||||
+ print_or_run cp -v $BUILD_DIR/compiler-rt/compiler-rt/build/lib/darwin/*.dylib ${CLANG_DARWIN_LIB_DIR}
|
||||
|
||||
### CMAKE END ###
|
||||
|
||||
@@ -209,7 +226,7 @@ else
|
||||
|
||||
function print_install_command() {
|
||||
if [ -f "$1" ]; then
|
||||
- echo "cp $PWD/compiler-rt/$1 ${CLANG_DARWIN_LIB_DIR}/$2"
|
||||
+ print_or_run cp $PWD/compiler-rt/$1 ${CLANG_DARWIN_LIB_DIR}/$2
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -219,14 +236,12 @@ else
|
||||
print_install_command "cc_kext/libcompiler_rt.a" "libclang_rt.cc_kext.a"
|
||||
print_install_command "profile_osx/libcompiler_rt.a" "libclang_rt.profile_osx.a"
|
||||
|
||||
-
|
||||
print_install_command "ubsan_osx_dynamic/libcompiler_rt.dylib" \
|
||||
"libclang_rt.ubsan_osx_dynamic.dylib"
|
||||
|
||||
print_install_command "asan_osx_dynamic/libcompiler_rt.dylib" \
|
||||
"libclang_rt.asan_osx_dynamic.dylib"
|
||||
|
||||
-
|
||||
popd &>/dev/null
|
||||
|
||||
### MAKE END ###
|
27
misc/build-containers/upload.sh
Normal file
27
misc/build-containers/upload.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
podman=podman
|
||||
if ! which $podman; then
|
||||
podman=docker
|
||||
fi
|
||||
|
||||
registry=$1
|
||||
|
||||
if [ -z "${registry}" ]; then
|
||||
registry=registry.prehensile-tales.com
|
||||
fi
|
||||
|
||||
$podman push pandemonium-export:latest ${registry}/pandemonium/export
|
||||
$podman push pandemonium-mono-glue:latest ${registry}/pandemonium/mono-glue
|
||||
$podman push pandemonium-windows:latest ${registry}/pandemonium/windows
|
||||
$podman push pandemonium-ubuntu-32:latest ${registry}/pandemonium/ubuntu-32
|
||||
$podman push pandemonium-ubuntu-64:latest ${registry}/pandemonium/ubuntu-64
|
||||
$podman push pandemonium-javascript:latest ${registry}/pandemonium/javascript
|
||||
$podman push pandemonium-xcode-packer:latest ${registry}/pandemonium/xcode-packer
|
||||
|
||||
$podman push pandemonium-android:latest ${registry}/pandemonium-private/android
|
||||
$podman push pandemonium-ios:latest ${registry}/pandemonium-private/ios
|
||||
$podman push pandemonium-osx:latest ${registry}/pandemonium-private/macosx
|
||||
$podman push pandemonium-msvc:latest ${registry}/pandemonium-private/uwp
|
12
misc/osx/create_editor_app.sh
Executable file
12
misc/osx/create_editor_app.sh
Executable file
@ -0,0 +1,12 @@
|
||||
cd ../../pandemonium_engine/bin/
|
||||
|
||||
rm -Rf Godot.app
|
||||
rm -f Godot.app.zip
|
||||
|
||||
cp -r ../misc/dist/osx_tools.app Godot.app
|
||||
mkdir -p Godot.app/Contents/MacOS
|
||||
cp pandemonium.osx.opt.tools.universal Godot.app/Contents/MacOS/Godot
|
||||
chmod +x Godot.app/Contents/MacOS/Godot
|
||||
|
||||
zip -q -r Godot.app.zip Godot.app/*
|
||||
cd ../../tools/osx/
|
12
misc/osx/create_export_templates.sh
Executable file
12
misc/osx/create_export_templates.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#templates
|
||||
|
||||
cd ../../pandemonium_engine/bin
|
||||
|
||||
cp -r ../misc/dist/osx_template.app .
|
||||
mkdir -p osx_template.app/Contents/MacOS
|
||||
cp pandemonium.osx.opt.universal osx_template.app/Contents/MacOS/pandemonium_osx_release.64
|
||||
cp pandemonium.osx.opt.debug.universal osx_template.app/Contents/MacOS/pandemonium_osx_debug.64
|
||||
chmod +x osx_template.app/Contents/MacOS/pandemonium_osx*
|
||||
zip -q -9 -r osx.zip osx_template.app
|
||||
|
||||
cd ../../tools/osx
|
6
misc/osx/lipo.sh
Executable file
6
misc/osx/lipo.sh
Executable file
@ -0,0 +1,6 @@
|
||||
# Tools
|
||||
lipo -create ../../pandemonium_engine/bin/pandemonium.osx.opt.tools.x86_64 ../../pandemonium_engine/bin/pandemonium.osx.opt.tools.arm64 -output ../../pandemonium_engine/bin/pandemonium.osx.opt.tools.universal
|
||||
|
||||
# Export Templates
|
||||
lipo -create ../../pandemonium_engine/bin/pandemonium.osx.opt.x86_64 ../../pandemonium_engine/bin/pandemonium.osx.opt.arm64 -output ../../pandemonium_engine/bin/pandemonium.osx.opt.universal
|
||||
lipo -create ../../pandemonium_engine/bin/pandemonium.osx.opt.debug.x86_64 ../../pandemonium_engine/bin/pandemonium.osx.opt.debug.arm64 -output ../../pandemonium_engine/bin/pandemonium.osx.opt.debug.universal
|
Loading…
Reference in New Issue
Block a user