6
6
7
7
export BUILD_NAME=official
8
8
export SCONS=" scons -j${NUM_CORES} verbose=yes warnings=no progress=no"
9
- export IOS_SDK=" 12.4"
10
- export OPTIONS=" osxcross_sdk=darwin18 debug_symbols=no"
9
+ export OPTIONS=" debug_symbols=no"
11
10
export OPTIONS_MONO=" module_mono_enabled=yes mono_static=yes"
12
11
export TERM=xterm
13
- export OSXCROSS_IOS=not_nothing
12
+
13
+ export IOS_SDK=" 12.4"
14
+ export IOS_LIPO=" /root/ioscross/arm64/bin/arm-apple-darwin11-lipo"
15
+
16
+ export IOS_GODOT_LIBS=" libgodot libgodot_arkit_module libgodot_camera_module"
14
17
15
18
rm -rf godot
16
19
mkdir godot
@@ -22,28 +25,61 @@ tar xf /root/godot.tar.gz --strip-components=1
22
25
if [ " ${CLASSICAL} " == " 1" ]; then
23
26
echo " Starting classical build for iOS..."
24
27
25
- $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-"
26
- $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-"
28
+ $SCONS platform=iphone $OPTIONS arch=arm64 tools=no target=release_debug \
29
+ osxcross_sdk=darwin18 IPHONESDK=" /root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK} .sdk" IPHONEPATH=" /root/ioscross/arm64/" ios_triple=" arm-apple-darwin11-"
30
+ $SCONS platform=iphone $OPTIONS arch=arm64 tools=no target=release \
31
+ osxcross_sdk=darwin18 IPHONESDK=" /root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK} .sdk" IPHONEPATH=" /root/ioscross/arm64/" ios_triple=" arm-apple-darwin11-"
27
32
28
- $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-"
29
- $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-"
33
+ $SCONS platform=iphone $OPTIONS arch=x86_64 tools=no target=release_debug \
34
+ osxcross_sdk=darwin18 IPHONESDK=" /root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK} .sdk" IPHONEPATH=" /root/ioscross/x86_64/" ios_triple=" x86_64-apple-darwin11-"
35
+ $SCONS platform=iphone $OPTIONS arch=x86_64 tools=no target=release \
36
+ osxcross_sdk=darwin18 IPHONESDK=" /root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK} .sdk" IPHONEPATH=" /root/ioscross/x86_64/" ios_triple=" x86_64-apple-darwin11-"
30
37
31
- /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
32
- /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
33
-
34
- /root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot_arkit_module.iphone.opt.arm64.a bin/libgodot_arkit_module.iphone.opt.x86_64.a -output /root/out/libgodot_arkit_module.iphone.opt.fat
35
- /root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot_arkit_module.iphone.opt.debug.arm64.a bin/libgodot_arkit_module.iphone.opt.debug.x86_64.a -output /root/out/libgodot_arkit_module.iphone.opt.debug.fat
36
-
37
- /root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot_camera_module.iphone.opt.arm64.a bin/libgodot_camera_module.iphone.opt.x86_64.a -output /root/out/libgodot_camera_module.iphone.opt.fat
38
- /root/ioscross/arm64/bin/arm-apple-darwin11-lipo -create bin/libgodot_camera_module.iphone.opt.debug.arm64.a bin/libgodot_camera_module.iphone.opt.debug.x86_64.a -output /root/out/libgodot_camera_module.iphone.opt.debug.fat
38
+ mkdir -p /root/out/templates
39
+ for lib in $IOS_GODOT_LIBS ; do
40
+ $IOS_LIPO -create bin/${lib} .iphone.opt.arm64.a bin/${lib} .iphone.opt.x86_64.a -output /root/out/templates/${lib} .iphone.opt.fat
41
+ $IOS_LIPO -create bin/${lib} .iphone.opt.debug.arm64.a bin/${lib} .iphone.opt.debug.x86_64.a -output /root/out/templates/${lib} .iphone.opt.debug.fat
42
+ done
39
43
fi
40
44
41
45
# Mono
42
46
43
47
if [ " ${MONO} " == " 1" ]; then
44
- echo " No Mono support for iOS yet."
45
- # cp /root/mono-glue/*.cpp modules/mono/glue/
46
- # cp -r /root/mono-glue/Managed/Generated modules/mono/glue/Managed/
48
+ echo " Starting Mono build for iOS..."
49
+
50
+ cp /root/mono-glue/* .cpp modules/mono/glue/
51
+ cp -r /root/mono-glue/GodotSharp/GodotSharp/Generated modules/mono/glue/GodotSharp/GodotSharp/
52
+ cp -r /root/mono-glue/GodotSharp/GodotSharpEditor/Generated modules/mono/glue/GodotSharp/GodotSharpEditor/
53
+
54
+ $SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=arm64 mono_prefix=/root/mono-installs/ios-arm64-release tools=no target=release_debug \
55
+ osxcross_sdk=darwin18 IPHONESDK=" /root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK} .sdk" IPHONEPATH=" /root/ioscross/arm64/" ios_triple=" arm-apple-darwin11-"
56
+ $SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=arm64 mono_prefix=/root/mono-installs/ios-arm64-release tools=no target=release \
57
+ osxcross_sdk=darwin18 IPHONESDK=" /root/ioscross/arm64/SDK/iPhoneOS${IOS_SDK} .sdk" IPHONEPATH=" /root/ioscross/arm64/" ios_triple=" arm-apple-darwin11-"
58
+
59
+ $SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=x86_64 mono_prefix=/root/mono-installs/ios-x86_64-release tools=no target=release_debug \
60
+ osxcross_sdk=darwin18 IPHONESDK=" /root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK} .sdk" IPHONEPATH=" /root/ioscross/x86_64/" ios_triple=" x86_64-apple-darwin11-"
61
+ $SCONS platform=iphone $OPTIONS $OPTIONS_MONO arch=x86_64 mono_prefix=/root/mono-installs/ios-x86_64-release tools=no target=release \
62
+ osxcross_sdk=darwin18 IPHONESDK=" /root/ioscross/x86_64/SDK/iPhoneOS${IOS_SDK} .sdk" IPHONEPATH=" /root/ioscross/x86_64/" ios_triple=" x86_64-apple-darwin11-"
63
+
64
+ mkdir -p /root/out/templates-mono
65
+ for lib in $IOS_GODOT_LIBS ; do
66
+ $IOS_LIPO -create bin/${lib} .iphone.opt.arm64.a bin/${lib} .iphone.opt.x86_64.a -output /root/out/templates-mono/${lib} .iphone.opt.fat
67
+ $IOS_LIPO -create bin/${lib} .iphone.opt.debug.arm64.a bin/${lib} .iphone.opt.debug.x86_64.a -output /root/out/templates-mono/${lib} .iphone.opt.debug.fat
68
+ done
69
+
70
+ mkdir -p /root/out/templates-mono/iphone-mono-libs
71
+
72
+ $IOS_LIPO -create bin/libmonosgen-2.0.iphone.arm64.a bin/libmonosgen-2.0.iphone.x86_64.a -output /root/out/templates-mono/iphone-mono-libs/libmonosgen-2.0.iphone.fat.a
73
+ $IOS_LIPO -create bin/libmono-native.iphone.arm64.a bin/libmono-native.iphone.x86_64.a -output /root/out/templates-mono/iphone-mono-libs/libmono-native.iphone.fat.a
74
+ $IOS_LIPO -create bin/libmono-profiler-log.iphone.arm64.a bin/libmono-profiler-log.iphone.x86_64.a -output /root/out/templates-mono/iphone-mono-libs/libmono-profiler-log.iphone.fat.a
75
+
76
+ # The Mono libraries for the interpreter are not available for simulator builds
77
+ $IOS_LIPO -create bin/libmono-ee-interp.iphone.arm64.a -output /root/out/templates-mono/iphone-mono-libs/libmono-ee-interp.iphone.fat.a
78
+ $IOS_LIPO -create bin/libmono-icall-table.iphone.arm64.a -output /root/out/templates-mono/iphone-mono-libs/libmono-icall-table.iphone.fat.a
79
+ $IOS_LIPO -create bin/libmono-ilgen.iphone.arm64.a -output /root/out/templates-mono/iphone-mono-libs/libmono-ilgen.iphone.fat.a
80
+
81
+ mkdir -p /root/out/templates-mono/bcl
82
+ cp -r /root/mono-installs/ios-bcl/* /root/out/templates-mono/bcl
47
83
fi
48
84
49
85
echo " iOS build successful"
0 commit comments