From: Jay Freeman (saurik) Date: Mon, 27 Jan 2014 01:26:47 +0000 (-0800) Subject: Use an embedded copy of libjpeg to support ARM64. X-Git-Tag: v0.9.3400~14 X-Git-Url: https://git.saurik.com/veency.git/commitdiff_plain/b7f88a8abb2f7243ee634f06b11d354e6f7ef776 Use an embedded copy of libjpeg to support ARM64. --- diff --git a/.gitignore b/.gitignore index d4d0aba..2d24ca8 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ obj *.deb .theos _ +jpeg-9a +libjpeg.arm* libvncserver.arm* diff --git a/libjpeg.sh b/libjpeg.sh new file mode 100644 index 0000000..e69de29 diff --git a/libvncserver.sh b/libvncserver.sh index 79dd1f1..30fd658 100755 --- a/libvncserver.sh +++ b/libvncserver.sh @@ -29,11 +29,14 @@ function arch() { local min=$5 shift 5 + rm -rf "libjpeg.${arch}" rm -rf "libvncserver.${arch}" + if ! isysroot=$(xcodebuild -sdk "${sdk}" -version Path); then return fi + mkdir "libjpeg.${arch}" mkdir "libvncserver.${arch}" flags=() @@ -46,8 +49,26 @@ function arch() { flags+=(-mthumb) fi + cpp="$*" + + function configure() { + code=$1 + shift + CC="clang -arch ${arch}" CXX="clang++ -arch ${arch}" CFLAGS="${flags[*]}" CPPFLAGS="${flags[*]} ${cpp}" ../"${code}"/configure --host="${host}" --disable-shared "$@" + } + + cd "libjpeg.${arch}" + configure jpeg-9a + make + cd .. + + flags+=(-I"${PWD}/jpeg-9a") + + jpeg=${PWD}/libjpeg.${arch} + flags+=(-I"${jpeg}") + cd "libvncserver.${arch}" - CC="clang -arch ${arch}" CXX="clang++ -arch ${arch}" CFLAGS="${flags[*]}" CPPFLAGS="${flags[*]} $*" ../libvncserver/configure --host="${host}" --disable-shared + configure libvncserver JPEG_LDFLAGS="-L${jpeg}/.libs -ljpeg" make cd .. } diff --git a/makefile b/makefile index 42dde6e..ff6cd43 100644 --- a/makefile +++ b/makefile @@ -27,7 +27,13 @@ ADDITIONAL_CFLAGS += -fvisibility=hidden ADDITIONAL_LDFLAGS += -Xarch_armv6 -Llibvncserver.armv6/libvncserver/.libs ADDITIONAL_LDFLAGS += -Xarch_arm64 -Llibvncserver.arm64/libvncserver/.libs -ADDITIONAL_LDFLAGS += -lvncserver -lz +ADDITIONAL_LDFLAGS += -lvncserver + +ADDITIONAL_LDFLAGS += -Xarch_armv6 -Llibjpeg.armv6/.libs +ADDITIONAL_LDFLAGS += -Xarch_arm64 -Llibjpeg.arm64/.libs +ADDITIONAL_LDFLAGS += -ljpeg + +ADDITIONAL_LDFLAGS += -lz ADDITIONAL_LDFLAGS += -F/System/Library/PrivateFrameworks ADDITIONAL_LDFLAGS += -weak_reference_mismatches weak