Skip to content

Commit 0c2d825

Browse files
committed
Port build scripts for Godot 3.2 / master branch
- Add Mono builds for Android. - Remove now unused `MONO*_PREFIX` env variables (replaced by `mono_prefix` command line option). - Update iOS to SDK 12.4 and darwin17 for proper ARKit support. - Drop 32-bit support for iOS (armv7, x86).
1 parent d640fa4 commit 0c2d825

File tree

7 files changed

+61
-47
lines changed

7 files changed

+61
-47
lines changed

build-android/build.sh

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@ 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=no"
99
export TERM=xterm
10-
export ANDROID_HOME=/root/
11-
export ANDROID_NDK_ROOT=/root/ndk-bundle/
1210

1311
rm -rf godot
1412
mkdir godot
1513
cd godot
1614
tar xf /root/godot.tar.gz --strip-components=1
1715

16+
cp /root/mono-glue/*.cpp modules/mono/glue/
17+
cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/
18+
1819
$SCONS platform=android android_arch=armv7 $OPTIONS tools=no target=release_debug
1920
$SCONS platform=android android_arch=armv7 $OPTIONS tools=no target=release
2021

@@ -28,7 +29,31 @@ $SCONS platform=android android_arch=x86_64 $OPTIONS tools=no target=release_deb
2829
$SCONS platform=android android_arch=x86_64 $OPTIONS tools=no target=release
2930

3031
pushd platform/android/java
31-
./gradlew build
32+
./gradlew generateGodotTemplates
33+
popd
34+
35+
mkdir -p /root/out/templates
36+
cp bin/android_source.zip /root/out/templates
37+
cp bin/android_debug.apk /root/out/templates/android_debug.apk
38+
cp bin/android_release.apk /root/out/templates/android_release.apk
39+
40+
$SCONS platform=android android_arch=armv7 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-armeabi-v7a-release tools=no target=release_debug
41+
$SCONS platform=android android_arch=armv7 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-armeabi-v7a-release tools=no target=release
42+
43+
$SCONS platform=android android_arch=arm64v8 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-arm64-v8a-release tools=no target=release_debug
44+
$SCONS platform=android android_arch=arm64v8 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-arm64-v8a-release tools=no target=release
45+
46+
$SCONS platform=android android_arch=x86 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-x86-release tools=no target=release_debug
47+
$SCONS platform=android android_arch=x86 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-x86-release tools=no target=release
48+
49+
$SCONS platform=android android_arch=x86_64 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-x86_64-release tools=no target=release_debug
50+
$SCONS platform=android android_arch=x86_64 $OPTIONS $OPTIONS_MONO mono_prefix=/root/mono-installs/android-x86_64-release tools=no target=release
51+
52+
pushd platform/android/java
53+
./gradlew generateGodotTemplates
3254
popd
3355

34-
cp bin/*.apk /root/out
56+
mkdir -p /root/out/templates-mono
57+
cp bin/android_source.zip /root/out/templates-mono
58+
cp bin/android_debug.apk /root/out/templates-mono/android_debug.apk
59+
cp bin/android_release.apk /root/out/templates-mono/android_release.apk

build-ios/build.sh

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ set -e
44

55
export BUILD_NAME=official
66
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
7-
export IOS_SDK="11.2"
8-
export OPTIONS="osxcross_sdk=darwin15 builtin_libpng=yes builtin_openssl=yes builtin_zlib=yes debug_symbols=no use_static_cpp=yes"
7+
export IOS_SDK="12.4"
8+
export OPTIONS="osxcross_sdk=darwin17 builtin_libpng=yes builtin_openssl=yes builtin_zlib=yes debug_symbols=no use_static_cpp=yes"
99
export OPTIONS_MONO="module_mono_enabled=yes mono_static=yes"
1010
export TERM=xterm
1111
export OSXCROSS_IOS=not_nothing
@@ -15,23 +15,13 @@ mkdir godot
1515
cd godot
1616
tar xf /root/godot.tar.gz --strip-components=1
1717

18-
$SCONS platform=iphone $OPTIONS arch=arm tools=no target=release_debug IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
19-
20-
$SCONS platform=iphone $OPTIONS arch=arm tools=no target=release IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
21-
2218
$SCONS platform=iphone $OPTIONS arch=arm64 tools=no target=release_debug IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
23-
2419
$SCONS platform=iphone $OPTIONS arch=arm64 tools=no target=release IPHONESDK="/root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/arm64/" ios_triple="arm-apple-darwin11-"
2520

26-
$SCONS platform=iphone $OPTIONS arch=x86 tools=no target=release_debug IPHONESDK="/root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64/" ios_triple="x86_64-apple-darwin11-"
27-
28-
$SCONS platform=iphone $OPTIONS arch=x86 tools=no target=release IPHONESDK="/root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64/" ios_triple="x86_64-apple-darwin11-"
29-
3021
$SCONS platform=iphone $OPTIONS arch=x86_64 tools=no target=release_debug IPHONESDK="/root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64/" ios_triple="x86_64-apple-darwin11-"
31-
3222
$SCONS platform=iphone $OPTIONS arch=x86_64 tools=no target=release IPHONESDK="/root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK}.sdk" IPHONEPATH="/root/ioscross/x86_64/" ios_triple="x86_64-apple-darwin11-"
3323

34-
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a bin/libgodot.iphone.opt.x86.a bin/libgodot.iphone.opt.x86_64.a -output /root/out/libgodot.iphone.opt.fat
35-
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot.iphone.opt.debug.arm.a bin/libgodot.iphone.opt.debug.arm64.a bin/libgodot.iphone.opt.debug.x86.a bin/libgodot.iphone.opt.debug.x86_64.a -output /root/out/libgodot.iphone.opt.debug.fat
24+
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot.iphone.opt.arm64.a bin/libgodot.iphone.opt.x86_64.a -output /root/out/libgodot.iphone.opt.fat
25+
/root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot.iphone.opt.debug.arm64.a bin/libgodot.iphone.opt.debug.x86_64.a -output /root/out/libgodot.iphone.opt.debug.fat
3626

3727
echo "iOS build successful"

build-linux/build.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ 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"
88
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,7 +15,8 @@ mkdir godot
1715
cd godot
1816
tar xf /root/godot.tar.gz --strip-components=1
1917

20-
cp /root/mono-glue/*.cpp modules/mono/glue
18+
cp /root/mono-glue/*.cpp modules/mono/glue/
19+
cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/
2120

2221
$SCONS platform=x11 CC=$CC CXX=$CXX $OPTIONS tools=yes target=release_debug
2322
mkdir -p /root/out/tools
@@ -30,6 +29,8 @@ mkdir -p /root/out/templates
3029
cp -rvp bin/* /root/out/templates
3130
rm -rf bin
3231

32+
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig/
33+
3334
$SCONS platform=x11 CC=$CC CXX=$CXX $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes
3435
mkdir -p /root/out/tools-mono
3536
cp -rvp bin/* /root/out/tools-mono

build-macosx/build.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +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="osxcross_sdk=darwin17 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/dependencies/mono"
99
export TERM=xterm
10-
export MONO64_PREFIX=/root/dependencies/mono
1110
export PATH=/root/osxcross/target/bin:$PATH
1211
export OSXCROSS_ROOT=/root/osxcross
1312

@@ -16,7 +15,8 @@ mkdir godot
1615
cd godot
1716
tar xf /root/godot.tar.gz --strip-components=1
1817

19-
cp /root/mono-glue/*.cpp modules/mono/glue
18+
cp /root/mono-glue/*.cpp modules/mono/glue/
19+
cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/
2020

2121
$SCONS platform=osx $OPTIONS tools=yes target=release_debug
2222

build-mono-glue/build.sh

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,19 @@
33
set -e
44

55
export BUILD_NAME=official
6-
export OPTIONS="builtin_libpng=yes builtin_openssl=yes builtin_zlib=yes debug_symbols=no"
76
export SCONS="scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
7+
export OPTIONS="builtin_libpng=yes builtin_openssl=yes builtin_zlib=yes debug_symbols=no"
88
export TERM=xterm
9-
export MONO32_PREFIX=/usr
10-
export MONO64_PREFIX=/usr
119

1210
rm -rf godot
1311
mkdir godot
1412
cd godot
1513
tar xf ../godot.tar.gz --strip-components=1
1614

15+
mono --version
16+
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig/
17+
1718
${SCONS} platform=x11 bits=64 ${OPTIONS} target=release_debug tools=yes module_mono_enabled=yes mono_glue=no
18-
xvfb-run bin/godot.x11.opt.tools.64.mono --generate-mono-glue /root/mono-glue || /bin/true
1919

20-
xvfb-run bin/godot.x11.opt.tools.64.mono --generate-cs-api /tmp/build_GodotSharp || /bin/true
21-
xvfb-run msbuild /tmp/build_GodotSharp/GodotSharp.sln /p:Configuration=Release
22-
mkdir -p /root/mono-glue/Api
23-
cp -r /tmp/build_GodotSharp/GodotSharp/bin/Release/{GodotSharp.dll,GodotSharp.pdb,GodotSharp.xml} /root/mono-glue/Api
24-
cp -r /tmp/build_GodotSharp/GodotSharpEditor/bin/Release/{GodotSharpEditor.dll,GodotSharpEditor.pdb,GodotSharpEditor.xml} /root/mono-glue/Api
20+
rm -rf /root/mono-glue/*
21+
xvfb-run bin/godot.x11.opt.tools.64.mono --generate-mono-glue /root/mono-glue || /bin/true

build-release.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ rm -rf mono/release-${GODOT_VERSION}/*linux*64*
5858
mkdir -p Godot_v${GODOT_VERSION}_mono_x11_64
5959
cp out/linux/x64/tools-mono/godot.x11.opt.tools.64.mono Godot_v${GODOT_VERSION}_mono_x11_64/Godot_v${GODOT_VERSION}_mono_x11.64
6060
cp -rp out/linux/x64/tools-mono/GodotSharp Godot_v${GODOT_VERSION}_mono_x11_64
61-
cp -rp mono-glue/Api Godot_v${GODOT_VERSION}_mono_x11_64/GodotSharp/Api
6261
zip -r -q -9 Godot_v${GODOT_VERSION}_mono_x11_64.zip Godot_v${GODOT_VERSION}_mono_x11_64
6362
mv Godot_v${GODOT_VERSION}_mono_x11_64.zip mono/release-${GODOT_VERSION}
6463
rm -rf Godot_v${GODOT_VERSION}_mono_x11_64
@@ -92,7 +91,6 @@ rm -rf mono/release-${GODOT_VERSION}/*linux*32*
9291
mkdir -p Godot_v${GODOT_VERSION}_mono_x11_32
9392
cp out/linux/x86/tools-mono/godot.x11.opt.tools.32.mono Godot_v${GODOT_VERSION}_mono_x11_32/Godot_v${GODOT_VERSION}_mono_x11.32
9493
cp -rp out/linux/x86/tools-mono/GodotSharp/ Godot_v${GODOT_VERSION}_mono_x11_32
95-
cp -rp mono-glue/Api Godot_v${GODOT_VERSION}_mono_x11_32/GodotSharp/Api
9694
zip -r -q -9 Godot_v${GODOT_VERSION}_mono_x11_32.zip Godot_v${GODOT_VERSION}_mono_x11_32
9795
mv Godot_v${GODOT_VERSION}_mono_x11_32.zip mono/release-${GODOT_VERSION}
9896
rm -rf Godot_v${GODOT_VERSION}_mono_x11_32
@@ -149,7 +147,6 @@ cp out/windows/x64/tools-mono/godot.windows.opt.tools.64.mono.exe Godot_v${GODOT
149147
strip Godot_v${GODOT_VERSION}_mono_win64/Godot_v${GODOT_VERSION}_mono_win64.exe
150148
sign Godot_v${GODOT_VERSION}_mono_win64/Godot_v${GODOT_VERSION}_mono_win64.exe
151149
cp -rp out/windows/x64/tools-mono/GodotSharp Godot_v${GODOT_VERSION}_mono_win64
152-
cp -rp mono-glue/Api Godot_v${GODOT_VERSION}_mono_win64/GodotSharp/Api
153150
zip -r -q -9 Godot_v${GODOT_VERSION}_mono_win64.zip Godot_v${GODOT_VERSION}_mono_win64
154151
mv Godot_v${GODOT_VERSION}_mono_win64.zip mono/release-${GODOT_VERSION}
155152
rm -rf Godot_v${GODOT_VERSION}_mono_win64
@@ -163,7 +160,6 @@ cp out/windows/x86/tools-mono/godot.windows.opt.tools.32.mono.exe Godot_v${GODOT
163160
strip Godot_v${GODOT_VERSION}_mono_win32/Godot_v${GODOT_VERSION}_mono_win32.exe
164161
sign Godot_v${GODOT_VERSION}_mono_win32/Godot_v${GODOT_VERSION}_mono_win32.exe
165162
cp -rp out/windows/x86/tools-mono/GodotSharp Godot_v${GODOT_VERSION}_mono_win32
166-
cp -rp mono-glue/Api Godot_v${GODOT_VERSION}_mono_win32/GodotSharp/Api
167163
zip -r -q -9 Godot_v${GODOT_VERSION}_mono_win32.zip Godot_v${GODOT_VERSION}_mono_win32
168164
mv Godot_v${GODOT_VERSION}_mono_win32.zip mono/release-${GODOT_VERSION}
169165
rm -rf Godot_v${GODOT_VERSION}_mono_win32
@@ -239,9 +235,9 @@ cp out/macosx/x64/tools-mono/godot.osx.opt.tools.64.mono Godot_mono.app/Contents
239235
mkdir -p Godot_mono.app/Contents/{Frameworks,Resources}
240236
mkdir -p Godot_mono.app/Contents/{Frameworks,Resources}/GodotSharp
241237
mkdir -p Godot_mono.app/Contents/{Frameworks,Resources}/GodotSharp/Mono
238+
cp -rp out/macosx/x64/tools-mono/GodotSharp/Api Godot_mono.app/Contents/Frameworks/GodotSharp
242239
cp -rp out/macosx/x64/tools-mono/GodotSharp/Mono/lib Godot_mono.app/Contents/Frameworks/GodotSharp/Mono
243240
cp -rp out/macosx/x64/tools-mono/GodotSharp/Tools Godot_mono.app/Contents/Frameworks/GodotSharp
244-
cp -rp mono-glue/Api Godot_mono.app/Contents/Frameworks/GodotSharp
245241
cp -rp out/macosx/x64/tools-mono/GodotSharp/Mono/etc Godot_mono.app/Contents/Resources/GodotSharp/Mono
246242
chmod +x Godot_mono.app/Contents/MacOS/Godot
247243
zip -q -9 -r "mono/release-${GODOT_VERSION}/Godot_v${GODOT_VERSION}_mono_osx.64.zip" Godot_mono.app
@@ -266,7 +262,11 @@ cp out/javascript/godot.javascript.opt.debug.zip templates/webassembly_debug.zip
266262

267263
# Android
268264

269-
cp out/android/*.apk templates
265+
cp out/android/templates/*.apk templates
266+
cp out/android/templates/android_source.zip templates
267+
268+
cp out/android/templates-mono/*.apk mono/templates
269+
cp out/android/templates-mono/android_source.zip mono/templates
270270

271271
# iOS
272272

build-windows/build.sh

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ 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
18+
cp /root/mono-glue/*.cpp modules/mono/glue/
19+
cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/
1920

2021
$SCONS platform=windows bits=32 $OPTIONS tools=yes target=release_debug
2122
mkdir -p /root/out/x86/tools
@@ -28,13 +29,13 @@ mkdir -p /root/out/x86/templates
2829
cp -rvp bin/* /root/out/x86/templates
2930
rm -rf bin
3031

31-
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes
32+
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO32_PREFIX tools=yes target=release_debug copy_mono_root=yes
3233
mkdir -p /root/out/x86/tools-mono
3334
cp -rvp bin/* /root/out/x86/tools-mono
3435
rm -rf bin
3536

36-
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO tools=no target=release_debug
37-
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO tools=no target=release
37+
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO32_PREFIX tools=no target=release_debug
38+
$SCONS platform=windows bits=32 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO32_PREFIX tools=no target=release
3839
mkdir -p /root/out/x86/templates-mono
3940
cp -rvp bin/* /root/out/x86/templates-mono
4041
rm -rf bin
@@ -50,13 +51,13 @@ mkdir -p /root/out/x64/templates
5051
cp -rvp bin/* /root/out/x64/templates
5152
rm -rf bin
5253

53-
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO tools=yes target=release_debug copy_mono_root=yes
54+
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO64_PREFIX tools=yes target=release_debug copy_mono_root=yes
5455
mkdir -p /root/out/x64/tools-mono
5556
cp -rvp bin/* /root/out/x64/tools-mono
5657
rm -rf bin
5758

58-
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO tools=no target=release_debug
59-
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO tools=no target=release
59+
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO64_PREFIX tools=no target=release_debug
60+
$SCONS platform=windows bits=64 $OPTIONS $OPTIONS_MONO mono_prefix=$MONO64_PREFIX tools=no target=release
6061
mkdir -p /root/out/x64/templates-mono
6162
cp -rvp bin/* /root/out/x64/templates-mono
6263
rm -rf bin

0 commit comments

Comments
 (0)