aboutsummaryrefslogtreecommitdiff
path: root/release
diff options
context:
space:
mode:
authordcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2012-02-09 09:23:30 +0000
committerdcommander <dcommander@632fc199-4ca6-4c93-a231-07263d6284db>2012-02-09 09:23:30 +0000
commit849423fe88cd83a1a326e3fb9c94499e66b7718b (patch)
tree9fbd2e8f895c8b104c7137af968695b9da0065e7 /release
parent7dacf8966c73aef477a0daf7fb0c7b298888f871 (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.in71
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