diff --git a/build-android/build.sh b/build-android/build.sh index 5cf82cd..d282765 100755 --- a/build-android/build.sh +++ b/build-android/build.sh @@ -57,3 +57,6 @@ mkdir -p /root/out/templates-mono cp bin/android_source.zip /root/out/templates-mono cp bin/android_debug.apk /root/out/templates-mono/android_debug.apk cp bin/android_release.apk /root/out/templates-mono/android_release.apk + +mkdir /root/out/templates-mono/bcl +cp -r /root/mono-installs/android-bcl/monodroid /root/out/templates-mono/bcl/ diff --git a/build-javascript/build.sh b/build-javascript/build.sh index 63b451a..da30da3 100755 --- a/build-javascript/build.sh +++ b/build-javascript/build.sh @@ -5,7 +5,7 @@ set -e export BUILD_NAME=official export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no" export OPTIONS="builtin_libpng=yes builtin_openssl=yes builtin_zlib=yes debug_symbols=no use_static_cpp=yes use_lto=yes" -export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes" +export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes mono_prefix=/root/mono-installs/wasm-runtime-release" export TERM=xterm source /root/emsdk/emsdk_env.sh @@ -15,7 +15,22 @@ mkdir godot cd godot tar xf /root/godot.tar.gz --strip-components=1 +cp /root/mono-glue/*.cpp modules/mono/glue/ +cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/ + $SCONS platform=javascript ${OPTIONS} target=release_debug tools=no $SCONS platform=javascript ${OPTIONS} target=release tools=no -cp -rvp bin/* /root/out/ +mkdir -p /root/out/templates +cp -rvp bin/*.zip /root/out/templates +rm -f bin/*.zip + +$SCONS platform=javascript ${OPTIONS} ${OPTIONS_MONO} target=release_debug tools=no +$SCONS platform=javascript ${OPTIONS} ${OPTIONS_MONO} target=release tools=no + +mkdir -p /root/out/templates-mono +cp -rvp bin/*.zip /root/out/templates-mono +rm -f bin/*.zip + +mkdir -p /root/out/templates-mono/bcl +cp -r /root/mono-installs/wasm-bcl/wasm /root/out/templates-mono/bcl/ diff --git a/build-release.sh b/build-release.sh index d74bb63..a3b8f4c 100755 --- a/build-release.sh +++ b/build-release.sh @@ -255,10 +255,32 @@ zip -q -9 Godot_v${GODOT_VERSION}_linux_headless.64.zip Godot_v${GODOT_VERSION}_ mv Godot_v${GODOT_VERSION}_linux_headless.64.zip release-${GODOT_VERSION} rm Godot_v${GODOT_VERSION}_linux_headless.64 +mkdir -p Godot_v${GODOT_VERSION}_mono_linux_server_64 +cp out/server/x64/templates/godot_server.x11.opt.64.mono Godot_v${GODOT_VERSION}_mono_linux_server_64/Godot_v${GODOT_VERSION}_mono_linux_server.64 +cp -rp out/server/x64/templates/data.mono.server.64.release Godot_v${GODOT_VERSION}_mono_linux_server_64/data_Godot_v${GODOT_VERSION}_mono_linux_server +zip -r -q -9 Godot_v${GODOT_VERSION}_mono_linux_server_64.zip Godot_v${GODOT_VERSION}_mono_linux_server_64 +mv Godot_v${GODOT_VERSION}_mono_linux_server_64.zip mono/release-${GODOT_VERSION} +rm -rf Godot_v${GODOT_VERSION}_mono_linux_server_64 + +mkdir -p Godot_v${GODOT_VERSION}_mono_linux_headless_64 +cp out/server/x64/tools/godot_server.x11.opt.tools.64.mono Godot_v${GODOT_VERSION}_mono_linux_headless_64/Godot_v${GODOT_VERSION}_mono_linux_headless.64 +cp -rp out/server/x64/tools/GodotSharp Godot_v${GODOT_VERSION}_mono_linux_headless_64 +zip -r -q -9 Godot_v${GODOT_VERSION}_mono_linux_headless_64.zip Godot_v${GODOT_VERSION}_mono_linux_headless_64 +mv Godot_v${GODOT_VERSION}_mono_linux_headless_64.zip mono/release-${GODOT_VERSION} +rm -rf Godot_v${GODOT_VERSION}_mono_linux_headless_64 + # Javascript -cp out/javascript/godot.javascript.opt.zip templates/webassembly_release.zip -cp out/javascript/godot.javascript.opt.debug.zip templates/webassembly_debug.zip +cp out/javascript/templates/godot.javascript.opt.zip templates/webassembly_release.zip +cp out/javascript/templates/godot.javascript.opt.debug.zip templates/webassembly_debug.zip + +mkdir -p mono/templates + +cp out/javascript/templates-mono/godot.javascript.opt.mono.zip mono/templates/webassembly_release.zip +cp out/javascript/templates-mono/godot.javascript.opt.debug.mono.zip mono/templates/webassembly_debug.zip + +mkdir -p mono/templates/bcl +cp -r out/javascript/templates-mono/bcl/wasm mono/templates/bcl/ # Android @@ -268,6 +290,9 @@ cp out/android/templates/android_source.zip templates cp out/android/templates-mono/*.apk mono/templates cp out/android/templates-mono/android_source.zip mono/templates +mkdir -p mono/templates/bcl +cp -r out/android/templates-mono/bcl/monodroid mono/templates/bcl/ + # iOS cp -r git/misc/dist/ios_xcode ios_xcode diff --git a/build-server/build.sh b/build-server/build.sh index 751be4e..99ca262 100755 --- a/build-server/build.sh +++ b/build-server/build.sh @@ -5,10 +5,8 @@ set -e export BUILD_NAME=official export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no" export OPTIONS="builtin_libpng=yes builtin_openssl=yes builtin_zlib=yes debug_symbols=no use_static_cpp=yes use_lto=yes" -export MONO_OPTIONS="module_mono_enabled=yes mono_static=yes copy_mono_root=yes" +export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes" export TERM=xterm -export MONO32_PREFIX=/usr -export MONO64_PREFIX=/usr export CC="gcc-8" export CXX="g++-8" @@ -17,14 +15,27 @@ mkdir godot cd godot tar xf /root/godot.tar.gz --strip-components=1 -$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release_debug -$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release -mkdir -p /root/out/templates -cp -rvp bin/* /root/out/templates -rm -rf bin +cp /root/mono-glue/*.cpp modules/mono/glue/ +cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/ $SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=yes target=release_debug mkdir -p /root/out/tools cp -rvp bin/* /root/out/tools rm -rf bin +#$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release_debug +$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release +mkdir -p /root/out/templates +cp -rvp bin/* /root/out/templates +rm -rf bin + +$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes +mkdir -p /root/out/tools +cp -rvp bin/* /root/out/tools +rm -rf bin + +#$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=no target=release_debug +$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=no target=release +mkdir -p /root/out/templates +cp -rvp bin/* /root/out/templates +rm -rf bin diff --git a/build.sh b/build.sh index 5e4a431..cd11ed3 100755 --- a/build.sh +++ b/build.sh @@ -141,9 +141,6 @@ ${podman_run} -v ${basedir}/build-linux:/root/build -v ${basedir}/out/linux/x64: mkdir -p ${basedir}/out/linux/x86 ${podman_run} -v ${basedir}/build-linux:/root/build -v ${basedir}/out/linux/x86:/root/out ${registry}/godot/ubuntu-32:latest bash build/build.sh 2>&1 | tee ${basedir}/out/logs/linux32 -mkdir -p ${basedir}/out/server/x64 -${podman_run} -v ${basedir}/build-server:/root/build -v ${basedir}/out/server/x64:/root/out ${registry}/godot/ubuntu-64:latest bash build/build.sh 2>&1 | tee ${basedir}/out/logs/server - mkdir -p ${basedir}/out/javascript ${podman_run} -v ${basedir}/build-javascript:/root/build -v ${basedir}/out/javascript:/root/out ${registry}/godot/javascript:latest bash build/build.sh 2>&1 | tee ${basedir}/out/logs/javascript @@ -156,6 +153,9 @@ ${podman_run} -v ${basedir}/build-android:/root/build -v ${basedir}/out/android: mkdir -p ${basedir}/out/ios ${podman_run} -v ${basedir}/build-ios:/root/build -v ${basedir}/out/ios:/root/out ${registry}/godot-private/ios:latest bash build/build.sh 2>&1 | tee ${basedir}/out/logs/ios +mkdir -p ${basedir}/out/server/x64 +${podman_run} -v ${basedir}/build-server:/root/build -v ${basedir}/out/server/x64:/root/out ${registry}/godot/ubuntu-64:latest bash build/build.sh 2>&1 | tee ${basedir}/out/logs/server + mkdir -p ${basedir}/out/uwp ${podman_run} --ulimit nofile=32768:32768 -v ${basedir}/build-uwp:/root/build -v ${basedir}/out/uwp:/root/out ${registry}/godot-private/uwp:latest bash build/build.sh 2>&1 | tee ${basedir}/out/logs/uwp