forked from xerub/ldid
-
Notifications
You must be signed in to change notification settings - Fork 11
/
make.sh
executable file
·90 lines (63 loc) · 1.54 KB
/
make.sh
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
#!/bin/bash
set -e
shopt -s extglob
if [[ $# == 0 ]]; then
ios=false
else
ios=$1
shift
fi
export DEVELOPER_DIR=/Applications/Xcode-5.1.1.app
os=()
if "${ios}"; then
out=ios
flags=(cycc -- -miphoneos-version-min=2.0 -arch armv6 -arch arm64)
flags+=(-Xarch_armv6 -Isysroot32/usr/include)
flags+=(-Xarch_arm64 -Isysroot64/usr/include)
flags+=(-Xarch_armv6 -Lsysroot32/usr/lib)
flags+=(-Xarch_arm64 -Lsysroot64/usr/lib)
static=false
flags+=(-framework CoreFoundation)
flags+=(-lplist)
flags+=(-lcrypto)
else
out=out
if which xcrun &>/dev/null; then
flags=(xcrun -sdk macosx g++)
flags+=(-mmacosx-version-min=10.4)
for arch in i386 x86_64; do
flags+=(-arch "${arch}")
done
else
flags=(g++)
fi
#flags+=(-L../../lib-osx/openssl)
# XXX: cannot redistribute
static=true
flags+=(-Isysroot64/usr/include)
flags+=(-lcrypto)
#flags+=(-Wl,/usr/lib/libcrypto.42.dylib)
fi
sdk=$(xcodebuild -sdk iphoneos -version Path)
flags+=(-I.)
if ${static}; then
flags+=(-I"${sdk}"/usr/include/libxml2)
flags+=(-Ilibplist/include)
flags+=(-Ilibplist/libcnary/include)
for c in libplist/libcnary/!(cnary).c libplist/src/*.c; do
o=${c%.c}.o
o="${out}"/${o##*/}
os+=("${o}")
if [[ "${c}" -nt "${o}" ]]; then
"${flags[@]}" -c -o "${o}" -x c "${c}"
fi
done
fi
flags+=("$@")
mkdir -p "${out}"
set -x
"${flags[@]}" -O3 -g0 -c -std=c++11 -o "${out}"/ldid.o ldid.cpp
"${flags[@]}" -O3 -g0 -o "${out}"/ldid "${out}"/ldid.o "${os[@]}" -x c lookup2.c -lxml2 -framework Security
if ! "${ios}"; then
ln -sf out/ldid .
fi