Skip to content

Commit 77091a9

Browse files
committed
Mono: WebAssembly and Server builds, pack BCL
1 parent 84f058d commit 77091a9

File tree

5 files changed

+66
-12
lines changed

5 files changed

+66
-12
lines changed

build-android/build.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,6 @@ mkdir -p /root/out/templates-mono
5757
cp bin/android_source.zip /root/out/templates-mono
5858
cp bin/android_debug.apk /root/out/templates-mono/android_debug.apk
5959
cp bin/android_release.apk /root/out/templates-mono/android_release.apk
60+
61+
mkdir /root/out/templates-mono/bcl
62+
cp -r /root/mono-installs/android-bcl/monodroid /root/out/templates-mono/bcl/

build-javascript/build.sh

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -e
55
export BUILD_NAME=official
66
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
77
export OPTIONS="builtin_libpng=yes builtin_openssl=yes builtin_zlib=yes debug_symbols=no use_static_cpp=yes use_lto=yes"
8-
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
8+
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes mono_prefix=/root/mono-installs/wasm-runtime-release"
99
export TERM=xterm
1010

1111
source /root/emsdk/emsdk_env.sh
@@ -15,7 +15,22 @@ mkdir godot
1515
cd godot
1616
tar xf /root/godot.tar.gz --strip-components=1
1717

18+
cp /root/mono-glue/*.cpp modules/mono/glue/
19+
cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/
20+
1821
$SCONS platform=javascript ${OPTIONS} target=release_debug tools=no
1922
$SCONS platform=javascript ${OPTIONS} target=release tools=no
2023

21-
cp -rvp bin/* /root/out/
24+
mkdir -p /root/out/templates
25+
cp -rvp bin/*.zip /root/out/templates
26+
rm -f bin/*.zip
27+
28+
$SCONS platform=javascript ${OPTIONS} ${OPTIONS_MONO} target=release_debug tools=no
29+
$SCONS platform=javascript ${OPTIONS} ${OPTIONS_MONO} target=release tools=no
30+
31+
mkdir -p /root/out/templates-mono
32+
cp -rvp bin/*.zip /root/out/templates-mono
33+
rm -f bin/*.zip
34+
35+
mkdir -p /root/out/templates-mono/bcl
36+
cp -r /root/mono-installs/wasm-bcl/wasm /root/out/templates-mono/bcl/

build-release.sh

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,32 @@ zip -q -9 Godot_v${GODOT_VERSION}_linux_headless.64.zip Godot_v${GODOT_VERSION}_
255255
mv Godot_v${GODOT_VERSION}_linux_headless.64.zip release-${GODOT_VERSION}
256256
rm Godot_v${GODOT_VERSION}_linux_headless.64
257257

258+
mkdir -p Godot_v${GODOT_VERSION}_mono_linux_server_64
259+
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
260+
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
261+
zip -r -q -9 Godot_v${GODOT_VERSION}_mono_linux_server_64.zip Godot_v${GODOT_VERSION}_mono_linux_server_64
262+
mv Godot_v${GODOT_VERSION}_mono_linux_server_64.zip mono/release-${GODOT_VERSION}
263+
rm -rf Godot_v${GODOT_VERSION}_mono_linux_server_64
264+
265+
mkdir -p Godot_v${GODOT_VERSION}_mono_linux_headless_64
266+
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
267+
cp -rp out/server/x64/tools/GodotSharp Godot_v${GODOT_VERSION}_mono_linux_headless_64
268+
zip -r -q -9 Godot_v${GODOT_VERSION}_mono_linux_headless_64.zip Godot_v${GODOT_VERSION}_mono_linux_headless_64
269+
mv Godot_v${GODOT_VERSION}_mono_linux_headless_64.zip mono/release-${GODOT_VERSION}
270+
rm -rf Godot_v${GODOT_VERSION}_mono_linux_headless_64
271+
258272
# Javascript
259273

260-
cp out/javascript/godot.javascript.opt.zip templates/webassembly_release.zip
261-
cp out/javascript/godot.javascript.opt.debug.zip templates/webassembly_debug.zip
274+
cp out/javascript/templates/godot.javascript.opt.zip templates/webassembly_release.zip
275+
cp out/javascript/templates/godot.javascript.opt.debug.zip templates/webassembly_debug.zip
276+
277+
mkdir -p mono/templates
278+
279+
cp out/javascript/templates-mono/godot.javascript.opt.mono.zip mono/templates/webassembly_release.zip
280+
cp out/javascript/templates-mono/godot.javascript.opt.debug.mono.zip mono/templates/webassembly_debug.zip
281+
282+
mkdir -p mono/templates/bcl
283+
cp -r out/javascript/templates-mono/bcl/wasm mono/templates/bcl/
262284

263285
# Android
264286

@@ -268,6 +290,9 @@ cp out/android/templates/android_source.zip templates
268290
cp out/android/templates-mono/*.apk mono/templates
269291
cp out/android/templates-mono/android_source.zip mono/templates
270292

293+
mkdir -p mono/templates/bcl
294+
cp -r out/android/templates-mono/bcl/monodroid mono/templates/bcl/
295+
271296
# iOS
272297

273298
cp -r git/misc/dist/ios_xcode ios_xcode

build-server/build.sh

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ set -e
55
export BUILD_NAME=official
66
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
77
export OPTIONS="builtin_libpng=yes builtin_openssl=yes builtin_zlib=yes debug_symbols=no use_static_cpp=yes use_lto=yes"
8-
export MONO_OPTIONS="module_mono_enabled=yes mono_static=yes copy_mono_root=yes"
8+
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
99
export TERM=xterm
10-
export MONO32_PREFIX=/usr
11-
export MONO64_PREFIX=/usr
1210
export CC="gcc-8"
1311
export CXX="g++-8"
1412

@@ -17,14 +15,27 @@ mkdir godot
1715
cd godot
1816
tar xf /root/godot.tar.gz --strip-components=1
1917

20-
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release_debug
18+
cp /root/mono-glue/*.cpp modules/mono/glue/
19+
cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/
20+
21+
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=yes target=release_debug
22+
mkdir -p /root/out/tools
23+
cp -rvp bin/* /root/out/tools
24+
rm -rf bin
25+
26+
#$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release_debug
2127
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=no target=release
2228
mkdir -p /root/out/templates
2329
cp -rvp bin/* /root/out/templates
2430
rm -rf bin
2531

26-
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS tools=yes target=release_debug
32+
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes
2733
mkdir -p /root/out/tools
2834
cp -rvp bin/* /root/out/tools
2935
rm -rf bin
3036

37+
#$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=no target=release_debug
38+
$SCONS platform=server CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=no target=release
39+
mkdir -p /root/out/templates
40+
cp -rvp bin/* /root/out/templates
41+
rm -rf bin

build.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,6 @@ ${podman_run} -v ${basedir}/build-linux:/root/build -v ${basedir}/out/linux/x64:
141141
mkdir -p ${basedir}/out/linux/x86
142142
${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
143143

144-
mkdir -p ${basedir}/out/server/x64
145-
${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
146-
147144
mkdir -p ${basedir}/out/javascript
148145
${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
149146

@@ -156,6 +153,9 @@ ${podman_run} -v ${basedir}/build-android:/root/build -v ${basedir}/out/android:
156153
mkdir -p ${basedir}/out/ios
157154
${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
158155

156+
mkdir -p ${basedir}/out/server/x64
157+
${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
158+
159159
mkdir -p ${basedir}/out/uwp
160160
${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
161161

0 commit comments

Comments
 (0)