Overview
Context
Changes
Deleted scripts/build_ios.sh version [edcee238b4].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#!/bin/sh
set -e
if test x"$1" = x""; then
echo "Usage: $0 destination"
exit 1
fi
cd ..
prefix="$1"
export IPHONEOS_DEPLOYMENT_TARGET="9.0"
msg() {
tput setaf 6
tput bold
echo "$@"
tput sgr0
}
msg "This could take a while - you should probably grab a coffee."
msg "Running autogen.sh"
./autogen.sh
build() {
objc="$(xcrun -f clang) --sysroot $(xcode-select -p)"
objc="$objc/Platforms/$3.platform/Developer/SDKs/$3.sdk"
msg "make distclean"
test -f buildsys.mk && make distclean
msg "Configuring for $1"
./configure \
--host=$2 \
--prefix=$prefix/$1 \
--enable-static \
OBJC="$objc -arch $1"
msg "Building for $1"
make -C src libobjfw.a ObjFW.framework
make -C src/bridge libobjfw_bridge.a ObjFW_Bridge.framework
make -C src install
mkdir -p $prefix/$1/Frameworks
cp -R src/ObjFW.framework src/bridge/ObjFW_Bridge.framework \
$prefix/$1/Frameworks
make distclean
}
build armv7 arm-apple-darwin iPhoneOS
build arm64 arm64-apple-darwin iPhoneOS
build i386 i386-apple-darwin iPhoneSimulator
build x86_64 x86_64-apple-darwin iPhoneSimulator
msg "Sanity checking"
diff -Nru $prefix/armv7/include $prefix/arm64/include
diff -Nru $prefix/armv7/Frameworks/ObjFW.framework/Headers \
$prefix/arm64/Frameworks/ObjFW.framework/Headers
diff -Nru $prefix/armv7/Frameworks/ObjFW_Bridge.framework/Headers \
$prefix/arm64/Frameworks/ObjFW_Bridge.framework/Headers
diff -Nru $prefix/i386/include $prefix/x86_64/include
diff -Nru $prefix/i386/Frameworks/ObjFW.framework/Headers \
$prefix/x86_64/Frameworks/ObjFW.framework/Headers
diff -Nru $prefix/i386/Frameworks/ObjFW_Bridge.framework/Headers \
$prefix/x86_64/Frameworks/ObjFW_Bridge.framework/Headers
mv $prefix/armv7/include $prefix/
mkdir -p \
$prefix/lib \
$prefix/Frameworks/ObjFW.framework \
$prefix/Frameworks/ObjFW_Bridge.framework
combine() {
msg "Combining $1"
lipo \
$prefix/armv7/$1 \
$prefix/arm64/$1 \
$prefix/i386/$1 \
$prefix/x86_64/$1 \
-create -output $prefix/$1
}
combine lib/libobjfw.a
combine lib/libobjfw_bridge.a
combine Frameworks/ObjFW.framework/ObjFW
combine Frameworks/ObjFW_Bridge.framework/ObjFW_Bridge
rm $prefix/armv7/Frameworks/ObjFW.framework/ObjFW
mv $prefix/armv7/Frameworks/ObjFW.framework/* \
$prefix/Frameworks/ObjFW.framework/
rm $prefix/armv7/Frameworks/ObjFW_Bridge.framework/ObjFW_Bridge
mv $prefix/armv7/Frameworks/ObjFW_Bridge.framework/* \
$prefix/Frameworks/ObjFW_Bridge.framework/
msg "Cleaning up"
rm -fr $prefix/armv7 $prefix/arm64 $prefix/i386 $prefix/x86_64
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
|