diff options
author | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2012-02-09 09:23:30 +0000 |
---|---|---|
committer | dcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db> | 2012-02-09 09:23:30 +0000 |
commit | 849423fe88cd83a1a326e3fb9c94499e66b7718b (patch) | |
tree | 9fbd2e8f895c8b104c7137af968695b9da0065e7 /release | |
parent | 7dacf8966c73aef477a0daf7fb0c7b298888f871 (diff) |
Infrastructure for producing a universal x86-64/i386/ARM version of libjpeg.a and libturbojpeg.a on OS X, so that the same library can be used to build OS X and iOS apps
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@789 632fc199-4ca6-4c93-a231-07263d6284db
Diffstat (limited to 'release')
-rw-r--r-- | release/makemacpkg.in | 71 |
1 files changed, 57 insertions, 14 deletions
diff --git a/release/makemacpkg.in b/release/makemacpkg.in index 2ee0805..3a1f800 100644 --- a/release/makemacpkg.in +++ b/release/makemacpkg.in @@ -15,25 +15,29 @@ onexit() fi } -usage() -{ - echo "$0 [universal [32-bit build dir]]" - exit 1 -} - UNIVERSAL=0 +IOS=0 PACKAGE_NAME=@PACKAGE_NAME@ VERSION=@VERSION@ BUILD=@BUILD@ SRCDIR=@abs_top_srcdir@ BUILDDIR32=@abs_top_srcdir@/osxx86 +BUILDDIRARMV6=@abs_top_srcdir@/iosarmv6 +BUILDDIRARMV7=@abs_top_srcdir@/iosarmv7 WITH_JAVA=@WITH_JAVA@ if [ $# -gt 0 ]; then if [ "$1" = "universal" ]; then UNIVERSAL=1 if [ $# -gt 1 ]; then BUILDDIR32=$2; fi fi + if [ "$1" = "ios" ]; then + UNIVERSAL=1 + IOS=1 + if [ $# -gt 1 ]; then BUILDDIR32=$2; fi + if [ $# -gt 2 ]; then BUILDDIRARMV6=$3; fi + if [ $# -gt 3 ]; then BUILDDIRARMV7=$4; fi + fi fi PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker @@ -79,19 +83,58 @@ if [ $UNIVERSAL = 1 ]; then -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \ -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib fi - lipo -create \ - -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.a \ - -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a \ - -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a + if [ $IOS = 1 ]; then + if [ ! -d $BUILDDIRARMV6 ]; then + echo ERROR: ARM v6 build directory $BUILDDIRARMV6 does not exist + exit 1 + fi + if [ ! -f $BUILDDIRARMV6/Makefile ]; then + echo ERROR: ARM v6 build directory $BUILDDIRARMV6 is not configured + exit 1 + fi + mkdir -p $TMPDIR/dist.armv6 + pushd $BUILDDIRARMV6 + make install DESTDIR=$TMPDIR/dist.armv6 + popd + if [ ! -d $BUILDDIRARMV7 ]; then + echo ERROR: ARM v7 build directory $BUILDDIRARMV7 does not exist + exit 1 + fi + if [ ! -f $BUILDDIRARMV7/Makefile ]; then + echo ERROR: ARM v7 build directory $BUILDDIRARMV7 is not configured + exit 1 + fi + mkdir -p $TMPDIR/dist.armv7 + pushd $BUILDDIRARMV7 + make install DESTDIR=$TMPDIR/dist.armv7 + popd + lipo -create \ + -arch arm $TMPDIR/dist.armv6/opt/$PACKAGE_NAME/lib/libjpeg.a \ + -arch arm $TMPDIR/dist.armv7/opt/$PACKAGE_NAME/lib/libjpeg.a \ + -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.a \ + -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a \ + -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a + lipo -create \ + -arch arm $TMPDIR/dist.armv6/opt/$PACKAGE_NAME/lib/libturbojpeg.a \ + -arch arm $TMPDIR/dist.armv7/opt/$PACKAGE_NAME/lib/libturbojpeg.a \ + -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libturbojpeg.a \ + -arch x86_64 $PKGROOT/usr/lib/libturbojpeg.a \ + -output $PKGROOT/usr/lib/libturbojpeg.a + else + lipo -create \ + -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libjpeg.a \ + -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a \ + -output $PKGROOT/opt/$PACKAGE_NAME/lib/libjpeg.a + lipo -create \ + -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libturbojpeg.a \ + -arch x86_64 $PKGROOT/usr/lib/libturbojpeg.a \ + -output $PKGROOT/usr/lib/libturbojpeg.a + fi lipo -create \ -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libturbojpeg.dylib \ -arch x86_64 $PKGROOT/usr/lib/libturbojpeg.dylib \ -output $PKGROOT/usr/lib/libturbojpeg.dylib lipo -create \ - -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/lib/libturbojpeg.a \ - -arch x86_64 $PKGROOT/usr/lib/libturbojpeg.a \ - -output $PKGROOT/usr/lib/libturbojpeg.a - lipo -create \ -arch i386 $TMPDIR/dist.x86/opt/$PACKAGE_NAME/bin/cjpeg \ -arch x86_64 $PKGROOT/opt/$PACKAGE_NAME/bin/cjpeg \ -output $PKGROOT/opt/$PACKAGE_NAME/bin/cjpeg |