X-Git-Url: https://git.saurik.com/ldid.git/blobdiff_plain/4374152f9caeb53be3e89388effce42be36e62f1..e57b1f91c2669a5fbc872db6ccd87a4cc6be6e6e:/make.sh diff --git a/make.sh b/make.sh index cbbfbb0..30fe7b0 100755 --- a/make.sh +++ b/make.sh @@ -1,6 +1,25 @@ #!/bin/bash set -e +shopt -s extglob + +if [[ $# == 0 ]]; then + ios=false +else + ios=$1 + shift +fi + +if "${ios}"; then + +out=ios +sudo xcode-select --switch /Applications/Xcode-4.6.3.app +flags=(cycc -- -miphoneos-version-min=2.0 -arch armv6) + +else + +out=out +sudo xcode-select --switch /Applications/Xcode-5.1.1.app if which xcrun &>/dev/null; then flags=(xcrun -sdk macosx g++) @@ -13,8 +32,34 @@ else flags=(g++) fi +fi + +sdk=$(xcodebuild -sdk iphoneos -version Path) + flags+=(-I.) +flags+=(-I"${sdk}"/usr/include/libxml2) +flags+=(-Ilibplist/include) +flags+=(-Ilibplist/libcnary/include) + +flags+=("$@") + +mkdir -p "${out}" +os=() + +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 set -x -"${flags[@]}" -c -std=c++11 -o ldid.o ldid.cpp -"${flags[@]}" -o ldid ldid.o -x c lookup2.c -x c sha1.c + +"${flags[@]}" -c -std=c++11 -o "${out}"/ldid.o ldid.cpp +"${flags[@]}" -o "${out}"/ldid "${out}"/ldid.o "${os[@]}" -x c lookup2.c -lxml2 -lcrypto + +if ! "${ios}"; then + ln -sf out/ldid . +fi