Include ARMv8 binaries when generating a combined OS X/iOS package using 'make iosdmg'
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1458 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
108
BUILDING.txt
108
BUILDING.txt
@@ -335,6 +335,9 @@ Additional build requirements:
|
||||
(https://sourceforge.net/p/libjpeg-turbo/code/HEAD/tree/gas-preprocessor)
|
||||
should be installed in your PATH.
|
||||
|
||||
|
||||
ARM 32-bit Build (Xcode 4.6.x and earlier, LLVM-GCC):
|
||||
|
||||
Set the following shell variables for simplicity:
|
||||
|
||||
Xcode 4.2 and earlier:
|
||||
@@ -343,28 +346,18 @@ Set the following shell variables for simplicity:
|
||||
IOS_PLATFORMDIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
|
||||
|
||||
IOS_SYSROOT=$IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS*.sdk
|
||||
|
||||
Xcode 4.6.x and earlier:
|
||||
IOS_GCC=$IOS_PLATFORMDIR/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2
|
||||
Xcode 5.0.x and later:
|
||||
IOS_GCC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
|
||||
|
||||
ARM v6 (code will run on all iOS devices, not SIMD-accelerated):
|
||||
ARMv6 (code will run on all iOS devices, not SIMD-accelerated):
|
||||
[NOTE: Requires Xcode 4.4.x or earlier]
|
||||
IOS_CFLAGS="-march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp"
|
||||
|
||||
ARM v7 (code will run on iPhone 3GS-4S/iPad 1st-3rd Generation and newer):
|
||||
Xcode 4.6.x and earlier:
|
||||
ARMv7 (code will run on iPhone 3GS-4S/iPad 1st-3rd Generation and newer):
|
||||
IOS_CFLAGS="-march=armv7 -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon"
|
||||
Xcode 5.0.x and later:
|
||||
IOS_CFLAGS="-arch armv7"
|
||||
|
||||
ARM v7s (code will run on iPhone 5/iPad 4th Generation and newer):
|
||||
ARMv7s (code will run on iPhone 5/iPad 4th Generation and newer):
|
||||
[NOTE: Requires Xcode 4.5 or later]
|
||||
Xcode 4.6.x and earlier:
|
||||
IOS_CFLAGS="-march=armv7s -mcpu=swift -mtune=swift -mfpu=neon"
|
||||
Xcode 5.0.x and later:
|
||||
IOS_CFLAGS="-arch armv7s"
|
||||
|
||||
Follow the procedure under "Building libjpeg-turbo" above, adding
|
||||
|
||||
@@ -373,24 +366,67 @@ Follow the procedure under "Building libjpeg-turbo" above, adding
|
||||
CFLAGS="-mfloat-abi=softfp -isysroot $IOS_SYSROOT -O3 $IOS_CFLAGS" \
|
||||
LDFLAGS="-mfloat-abi=softfp -isysroot $IOS_SYSROOT $IOS_CFLAGS"
|
||||
|
||||
to the configure command line. If using Xcode 5.0.x or later, also add
|
||||
to the configure command line.
|
||||
|
||||
|
||||
ARM 32-bit Build (Xcode 5.0.x and later, Clang):
|
||||
|
||||
Set the following shell variables for simplicity:
|
||||
|
||||
IOS_PLATFORMDIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
|
||||
IOS_SYSROOT=$IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS*.sdk
|
||||
IOS_GCC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
|
||||
|
||||
ARMv7 (code will run on iPhone 3GS-4S/iPad 1st-3rd Generation and newer):
|
||||
IOS_CFLAGS="-arch armv7"
|
||||
|
||||
ARMv7s (code will run on iPhone 5/iPad 4th Generation and newer):
|
||||
IOS_CFLAGS="-arch armv7s"
|
||||
|
||||
Follow the procedure under "Building libjpeg-turbo" above, adding
|
||||
|
||||
--host arm-apple-darwin10 \
|
||||
CC="$IOS_GCC" LD="$IOS_GCC" \
|
||||
CFLAGS="-mfloat-abi=softfp -isysroot $IOS_SYSROOT -O3 $IOS_CFLAGS" \
|
||||
LDFLAGS="-mfloat-abi=softfp -isysroot $IOS_SYSROOT $IOS_CFLAGS" \
|
||||
CCASFLAGS="-no-integrated-as $IOS_CFLAGS"
|
||||
|
||||
to the configure command line.
|
||||
|
||||
|
||||
ARMv8 64-bit Build (Xcode 5.0.x and later, Clang):
|
||||
|
||||
Code will run on iPhone 5S/iPad Mini 2 and newer.
|
||||
|
||||
Set the following shell variables for simplicity:
|
||||
|
||||
IOS_PLATFORMDIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform
|
||||
IOS_SYSROOT=$IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS*.sdk
|
||||
IOS_GCC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
|
||||
IOS_CFLAGS="-arch arm64"
|
||||
|
||||
Follow the procedure under "Building libjpeg-turbo" above, adding
|
||||
|
||||
--host aarch64-apple-darwin \
|
||||
CC="$IOS_GCC" LD="$IOS_GCC" \
|
||||
CFLAGS="-isysroot $IOS_SYSROOT -O3 $IOS_CFLAGS" \
|
||||
LDFLAGS="-isysroot $IOS_SYSROOT $IOS_CFLAGS"
|
||||
|
||||
to the configure command line.
|
||||
|
||||
|
||||
NOTE: You can also add -miphoneos-version-min={version} to $IOS_CFLAGS above
|
||||
in order to support older versions of iOS than the default version supported by
|
||||
the SDK.
|
||||
|
||||
Once built, lipo can be used to combine the ARM v6, v7, and/or v7s variants
|
||||
Once built, lipo can be used to combine the ARMv6, v7, v7s, and/or v8 variants
|
||||
into a universal library.
|
||||
|
||||
NOTE: If you are building libjpeg-turbo from the "official" project tarball,
|
||||
then it is highly likely that you will need to run 'autoreconf -fiv' in the
|
||||
source tree prior to building ARM v7 or v7s iOS binaries using the techniques
|
||||
described above. Otherwise, you may get a libtool error such as "unable to
|
||||
infer tagged configuration."
|
||||
source tree prior to building ARMv7, v7s, or v8 iOS binaries using the
|
||||
techniques described above. Otherwise, you may get a libtool error such as
|
||||
"unable to infer tagged configuration."
|
||||
|
||||
|
||||
Building libjpeg-turbo for Android
|
||||
@@ -764,26 +800,32 @@ make udmg [BUILDDIR32={32-bit build directory}]
|
||||
make command line as shown above.
|
||||
|
||||
make iosdmg [BUILDDIR32={32-bit build directory}] \
|
||||
[BUILDDIRARMV6={ARM v6 build directory}] \
|
||||
[BUILDDIRARMV7={ARM v7 build directory}] \
|
||||
[BUILDDIRARMV7S={ARM v7s build directory}]
|
||||
[BUILDDIRARMV6={ARMv6 build directory}] \
|
||||
[BUILDDIRARMV7={ARMv7 build directory}] \
|
||||
[BUILDDIRARMV7S={ARMv7s build directory}] \
|
||||
[BUILDDIRARMV8={ARMv8 build directory}]
|
||||
|
||||
On OS X systems, this creates a Macintosh package and disk image in which the
|
||||
libjpeg-turbo static libraries contain ARM architectures necessary to build
|
||||
iOS applications. If building on an x86-64 system, the binaries will also
|
||||
contain the i386 architecture, as with 'make udmg' above. You should first
|
||||
configure ARM v6, ARM v7, and/or ARM v7s out-of-tree builds of libjpeg-turbo
|
||||
(see "Building libjpeg-turbo for iOS" above.) If you are building an x86-64
|
||||
version of libjpeg-turbo, you should configure a 32-bit out-of-tree build as
|
||||
well. Next, build libjpeg-turbo as you would normally, using an out-of-tree
|
||||
build. When it is built, run 'make iosdmg' from the build directory. The
|
||||
build system will look for the ARM v6 build under {source_directory}/iosarmv6
|
||||
by default, the ARM v7 build under {source_directory}/iosarmv7 by default,
|
||||
the ARM v7s build under {source_directory}/iosarmv7s by default, and (if
|
||||
applicable) the 32-bit build under {source_directory}/osxx86 by default, but
|
||||
you can override this by setting the BUILDDIR32, BUILDDIRARMV6,
|
||||
BUILDDIRARMV7, and/or BUILDDIRARMV7S variables on the make command line as
|
||||
shown above.
|
||||
configure ARMv6, ARMv7, ARMv7s, and/or ARMv8 out-of-tree builds of
|
||||
libjpeg-turbo (see "Building libjpeg-turbo for iOS" above.) If you are
|
||||
building an x86-64 version of libjpeg-turbo, you should configure a 32-bit
|
||||
out-of-tree build as well. Next, build libjpeg-turbo as you would normally,
|
||||
using an out-of-tree build. When it is built, run 'make iosdmg' from the
|
||||
build directory. The build system will look for the ARMv6 build under
|
||||
{source_directory}/iosarmv6 by default, the ARMv7 build under
|
||||
{source_directory}/iosarmv7 by default, the ARMv7s build under
|
||||
{source_directory}/iosarmv7s by default, the ARMv8 build under
|
||||
{source_directory}/iosarmv8 by default, and (if applicable) the 32-bit build
|
||||
under {source_directory}/osxx86 by default, but you can override this by
|
||||
setting the BUILDDIR32, BUILDDIRARMV6, BUILDDIRARMV7, BUILDDIRARMV7S, and/or
|
||||
BUILDDIRARMV8 variables on the make command line as shown above.
|
||||
|
||||
NOTE: If including an ARMv8 build in the package, then you may need to use
|
||||
Xcode's version of lipo instead of the operating system's. To do this, pass
|
||||
an argument of LIPO="xcrun lipo" on the make command line.
|
||||
|
||||
make cygwinpkg
|
||||
|
||||
|
||||
@@ -63,6 +63,10 @@ good argument can be made that this is a bad practice on the part of the
|
||||
software in question, but since this affects more than one package, it's just
|
||||
easier to fix it here.
|
||||
|
||||
[12] Fixed issues that were preventing the ARM 64-bit SIMD code from compiling
|
||||
for iOS, and included an ARMv8 architecture in all of the binaries installed by
|
||||
the "official" libjpeg-turbo SDK for OS X.
|
||||
|
||||
|
||||
1.3.90 (1.4 beta1)
|
||||
==================
|
||||
@@ -315,7 +319,7 @@ configure/CMake switch in order to retain strict API/ABI compatibility with the
|
||||
libjpeg v6b or v7 API/ABI (or with previous versions of libjpeg-turbo.) See
|
||||
README-turbo.txt for more details.
|
||||
|
||||
[13] Added ARM v7s architecture to libjpeg.a and libturbojpeg.a in the official
|
||||
[13] Added ARMv7s architecture to libjpeg.a and libturbojpeg.a in the official
|
||||
libjpeg-turbo binary package for OS X, so that those libraries can be used to
|
||||
build applications that leverage the faster CPUs in the iPhone 5 and iPad 4.
|
||||
|
||||
@@ -398,7 +402,7 @@ K component is assigned a component ID of 1 instead of 4. Although these files
|
||||
are in violation of the spec, other JPEG implementations handle them
|
||||
correctly.
|
||||
|
||||
[7] Added ARM v6 and ARM v7 architectures to libjpeg.a and libturbojpeg.a in
|
||||
[7] Added ARMv6 and ARMv7 architectures to libjpeg.a and libturbojpeg.a in
|
||||
the official libjpeg-turbo binary package for OS X, so that those libraries can
|
||||
be used to build both OS X and iOS applications.
|
||||
|
||||
|
||||
@@ -584,12 +584,12 @@ udmg: all pkgscripts/makemacpkg pkgscripts/uninstall
|
||||
sh pkgscripts/makemacpkg -build32 ${BUILDDIR32}
|
||||
|
||||
iosdmg: all pkgscripts/makemacpkg pkgscripts/uninstall
|
||||
sh pkgscripts/makemacpkg -build32 ${BUILDDIR32} -buildarmv6 ${BUILDDIRARMV6} -buildarmv7 ${BUILDDIRARMV7} -buildarmv7s ${BUILDDIRARMV7S}
|
||||
sh pkgscripts/makemacpkg -build32 ${BUILDDIR32} -buildarmv6 ${BUILDDIRARMV6} -buildarmv7 ${BUILDDIRARMV7} -buildarmv7s ${BUILDDIRARMV7S} -buildarmv8 ${BUILDDIRARMV8} -lipo "${LIPO}"
|
||||
|
||||
else
|
||||
|
||||
iosdmg: all pkgscripts/makemacpkg pkgscripts/uninstall
|
||||
sh pkgscripts/makemacpkg -buildarmv6 ${BUILDDIRARMV6} -buildarmv7 ${BUILDDIRARMV7} -buildarmv7s ${BUILDDIRARMV7S}
|
||||
sh pkgscripts/makemacpkg -buildarmv6 ${BUILDDIRARMV6} -buildarmv7 ${BUILDDIRARMV7} -buildarmv7s ${BUILDDIRARMV7S} -buildarmv8 ${BUILDDIRARMV8} -lipo "${LIPO}"
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ onexit()
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "$0 [-build32 [32-bit build dir]] [-buildarmv6 [ARM v6 build dir]] [-buildarmv7 [ARM v7 build dir]] [-buildarmv7s [ARM v7s build dir]]"
|
||||
echo "$0 [-build32 [32-bit build dir]] [-buildarmv6 [ARMv6 build dir]] [-buildarmv7 [ARMv7 build dir]] [-buildarmv7s [ARMv7s build dir] [-buildarmv8 [ARMv8 build dir]] [-lipo [path to lipo]]"
|
||||
exit 1
|
||||
}
|
||||
|
||||
@@ -33,7 +33,10 @@ BUILDDIRARMV7=@abs_top_srcdir@/iosarmv7
|
||||
BUILDARMV7=0
|
||||
BUILDDIRARMV7S=@abs_top_srcdir@/iosarmv7s
|
||||
BUILDARMV7S=0
|
||||
BUILDDIRARMV8=@abs_top_srcdir@/iosarmv8
|
||||
BUILDARMV8=0
|
||||
WITH_JAVA=@WITH_JAVA@
|
||||
LIPO=lipo
|
||||
|
||||
PREFIX=%{__prefix}
|
||||
BINDIR=%{__bindir}
|
||||
@@ -75,6 +78,21 @@ while [ $# -gt 0 ]; do
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
-buildarmv8)
|
||||
BUILDARMV8=1
|
||||
if [ $# -gt 1 ]; then
|
||||
if [[ ! "$2" =~ -.* ]]; then
|
||||
BUILDDIRARMV8=$2; shift
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
-lipo)
|
||||
if [ $# -gt 1 ]; then
|
||||
if [[ ! "$2" =~ -.* ]]; then
|
||||
LIPO=$2; shift
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
@@ -110,50 +128,50 @@ if [ $BUILD32 = 1 ]; then
|
||||
popd
|
||||
if [ ! -h $TMPDIR/dist.x86/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-arch x86_64 $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||
elif [ ! -h $TMPDIR/dist.x86/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-arch x86_64 $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib
|
||||
fi
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$LIBDIR/libjpeg.a \
|
||||
-arch x86_64 $PKGROOT/$LIBDIR/libjpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.a
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-arch x86_64 $PKGROOT/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.0.dylib
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$LIBDIR/libturbojpeg.a \
|
||||
-arch x86_64 $PKGROOT/$LIBDIR/libturbojpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.a
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$BINDIR/cjpeg \
|
||||
-arch x86_64 $PKGROOT/$BINDIR/cjpeg \
|
||||
-output $PKGROOT/$BINDIR/cjpeg
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$BINDIR/djpeg \
|
||||
-arch x86_64 $PKGROOT/$BINDIR/djpeg \
|
||||
-output $PKGROOT/$BINDIR/djpeg
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$BINDIR/jpegtran \
|
||||
-arch x86_64 $PKGROOT/$BINDIR/jpegtran \
|
||||
-output $PKGROOT/$BINDIR/jpegtran
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$BINDIR/tjbench \
|
||||
-arch x86_64 $PKGROOT/$BINDIR/tjbench \
|
||||
-output $PKGROOT/$BINDIR/tjbench
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$BINDIR/rdjpgcom \
|
||||
-arch x86_64 $PKGROOT/$BINDIR/rdjpgcom \
|
||||
-output $PKGROOT/$BINDIR/rdjpgcom
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
-arch i386 $TMPDIR/dist.x86/$BINDIR/wrjpgcom \
|
||||
-arch x86_64 $PKGROOT/$BINDIR/wrjpgcom \
|
||||
-output $PKGROOT/$BINDIR/wrjpgcom
|
||||
@@ -162,11 +180,11 @@ fi
|
||||
|
||||
if [ $BUILDARMV6 = 1 ]; then
|
||||
if [ ! -d $BUILDDIRARMV6 ]; then
|
||||
echo ERROR: ARM v6 build directory $BUILDDIRARMV6 does not exist
|
||||
echo ERROR: ARMv6 build directory $BUILDDIRARMV6 does not exist
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f $BUILDDIRARMV6/Makefile ]; then
|
||||
echo ERROR: ARM v6 build directory $BUILDDIRARMV6 is not configured
|
||||
echo ERROR: ARMv6 build directory $BUILDDIRARMV6 is not configured
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p $TMPDIR/dist.armv6
|
||||
@@ -175,50 +193,50 @@ if [ $BUILDARMV6 = 1 ]; then
|
||||
popd
|
||||
if [ ! -h $TMPDIR/dist.armv6/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-arch arm $TMPDIR/dist.armv6/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||
elif [ ! -h $TMPDIR/dist.armv6/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-arch arm $TMPDIR/dist.armv6/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib
|
||||
fi
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.a \
|
||||
-arch arm $TMPDIR/dist.armv6/$LIBDIR/libjpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.a
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-arch arm $TMPDIR/dist.armv6/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.0.dylib
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.a \
|
||||
-arch arm $TMPDIR/dist.armv6/$LIBDIR/libturbojpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.a
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/cjpeg \
|
||||
-arch arm $TMPDIR/dist.armv6/$BINDIR/cjpeg \
|
||||
-output $PKGROOT/$BINDIR/cjpeg
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/djpeg \
|
||||
-arch arm $TMPDIR/dist.armv6/$BINDIR/djpeg \
|
||||
-output $PKGROOT/$BINDIR/djpeg
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/jpegtran \
|
||||
-arch arm $TMPDIR/dist.armv6/$BINDIR/jpegtran \
|
||||
-output $PKGROOT/$BINDIR/jpegtran
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/tjbench \
|
||||
-arch arm $TMPDIR/dist.armv6/$BINDIR/tjbench \
|
||||
-output $PKGROOT/$BINDIR/tjbench
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/rdjpgcom \
|
||||
-arch arm $TMPDIR/dist.armv6/$BINDIR/rdjpgcom \
|
||||
-output $PKGROOT/$BINDIR/rdjpgcom
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/wrjpgcom \
|
||||
-arch arm $TMPDIR/dist.armv6/$BINDIR/wrjpgcom \
|
||||
-output $PKGROOT/$BINDIR/wrjpgcom
|
||||
@@ -226,11 +244,11 @@ fi
|
||||
|
||||
if [ $BUILDARMV7 = 1 ]; then
|
||||
if [ ! -d $BUILDDIRARMV7 ]; then
|
||||
echo ERROR: ARM v7 build directory $BUILDDIRARMV7 does not exist
|
||||
echo ERROR: ARMv7 build directory $BUILDDIRARMV7 does not exist
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f $BUILDDIRARMV7/Makefile ]; then
|
||||
echo ERROR: ARM v7 build directory $BUILDDIRARMV7 is not configured
|
||||
echo ERROR: ARMv7 build directory $BUILDDIRARMV7 is not configured
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p $TMPDIR/dist.armv7
|
||||
@@ -239,50 +257,50 @@ if [ $BUILDARMV7 = 1 ]; then
|
||||
popd
|
||||
if [ ! -h $TMPDIR/dist.armv7/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-arch arm $TMPDIR/dist.armv7/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||
elif [ ! -h $TMPDIR/dist.armv7/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-arch arm $TMPDIR/dist.armv7/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib
|
||||
fi
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.a \
|
||||
-arch arm $TMPDIR/dist.armv7/$LIBDIR/libjpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.a
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-arch arm $TMPDIR/dist.armv7/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.0.dylib
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.a \
|
||||
-arch arm $TMPDIR/dist.armv7/$LIBDIR/libturbojpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.a
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/cjpeg \
|
||||
-arch arm $TMPDIR/dist.armv7/$BINDIR/cjpeg \
|
||||
-output $PKGROOT/$BINDIR/cjpeg
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/djpeg \
|
||||
-arch arm $TMPDIR/dist.armv7/$BINDIR/djpeg \
|
||||
-output $PKGROOT/$BINDIR/djpeg
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/jpegtran \
|
||||
-arch arm $TMPDIR/dist.armv7/$BINDIR/jpegtran \
|
||||
-output $PKGROOT/$BINDIR/jpegtran
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/tjbench \
|
||||
-arch arm $TMPDIR/dist.armv7/$BINDIR/tjbench \
|
||||
-output $PKGROOT/$BINDIR/tjbench
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/rdjpgcom \
|
||||
-arch arm $TMPDIR/dist.armv7/$BINDIR/rdjpgcom \
|
||||
-output $PKGROOT/$BINDIR/rdjpgcom
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/wrjpgcom \
|
||||
-arch arm $TMPDIR/dist.armv7/$BINDIR/wrjpgcom \
|
||||
-output $PKGROOT/$BINDIR/wrjpgcom
|
||||
@@ -290,11 +308,11 @@ fi
|
||||
|
||||
if [ $BUILDARMV7S = 1 ]; then
|
||||
if [ ! -d $BUILDDIRARMV7S ]; then
|
||||
echo ERROR: ARM v7s build directory $BUILDDIRARMV7S does not exist
|
||||
echo ERROR: ARMv7s build directory $BUILDDIRARMV7S does not exist
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f $BUILDDIRARMV7S/Makefile ]; then
|
||||
echo ERROR: ARM v7s build directory $BUILDDIRARMV7S is not configured
|
||||
echo ERROR: ARMv7s build directory $BUILDDIRARMV7S is not configured
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p $TMPDIR/dist.armv7s
|
||||
@@ -303,55 +321,119 @@ if [ $BUILDARMV7S = 1 ]; then
|
||||
popd
|
||||
if [ ! -h $TMPDIR/dist.armv7s/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-arch arm $TMPDIR/dist.armv7s/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||
elif [ ! -h $TMPDIR/dist.armv7s/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib ]; then
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-arch arm $TMPDIR/dist.armv7s/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib
|
||||
fi
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.a \
|
||||
-arch arm $TMPDIR/dist.armv7s/$LIBDIR/libjpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.a
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-arch arm $TMPDIR/dist.armv7s/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.0.dylib
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.a \
|
||||
-arch arm $TMPDIR/dist.armv7s/$LIBDIR/libturbojpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.a
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/cjpeg \
|
||||
-arch arm $TMPDIR/dist.armv7s/$BINDIR/cjpeg \
|
||||
-output $PKGROOT/$BINDIR/cjpeg
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/djpeg \
|
||||
-arch arm $TMPDIR/dist.armv7s/$BINDIR/djpeg \
|
||||
-output $PKGROOT/$BINDIR/djpeg
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/jpegtran \
|
||||
-arch arm $TMPDIR/dist.armv7s/$BINDIR/jpegtran \
|
||||
-output $PKGROOT/$BINDIR/jpegtran
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/tjbench \
|
||||
-arch arm $TMPDIR/dist.armv7s/$BINDIR/tjbench \
|
||||
-output $PKGROOT/$BINDIR/tjbench
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/rdjpgcom \
|
||||
-arch arm $TMPDIR/dist.armv7s/$BINDIR/rdjpgcom \
|
||||
-output $PKGROOT/$BINDIR/rdjpgcom
|
||||
lipo -create \
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/wrjpgcom \
|
||||
-arch arm $TMPDIR/dist.armv7s/$BINDIR/wrjpgcom \
|
||||
-output $PKGROOT/$BINDIR/wrjpgcom
|
||||
fi
|
||||
|
||||
if [ $BUILDARMV8 = 1 ]; then
|
||||
if [ ! -d $BUILDDIRARMV8 ]; then
|
||||
echo ERROR: ARMv8 build directory $BUILDDIRARMV8 does not exist
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f $BUILDDIRARMV8/Makefile ]; then
|
||||
echo ERROR: ARMv8 build directory $BUILDDIRARMV8 is not configured
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p $TMPDIR/dist.armv8
|
||||
pushd $BUILDDIRARMV8
|
||||
make install DESTDIR=$TMPDIR/dist.armv8
|
||||
popd
|
||||
if [ ! -h $TMPDIR/dist.armv8/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib ]; then
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||
elif [ ! -h $TMPDIR/dist.armv8/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib -a \
|
||||
! -h $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib ]; then
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.0.@SO_MINOR_VERSION@.dylib
|
||||
fi
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.a \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$LIBDIR/libjpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.a
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$LIBDIR/libturbojpeg.0.dylib \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.0.dylib
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.a \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$LIBDIR/libturbojpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.a
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/cjpeg \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$BINDIR/cjpeg \
|
||||
-output $PKGROOT/$BINDIR/cjpeg
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/djpeg \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$BINDIR/djpeg \
|
||||
-output $PKGROOT/$BINDIR/djpeg
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/jpegtran \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$BINDIR/jpegtran \
|
||||
-output $PKGROOT/$BINDIR/jpegtran
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/tjbench \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$BINDIR/tjbench \
|
||||
-output $PKGROOT/$BINDIR/tjbench
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/rdjpgcom \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$BINDIR/rdjpgcom \
|
||||
-output $PKGROOT/$BINDIR/rdjpgcom
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/wrjpgcom \
|
||||
-arch arm64 $TMPDIR/dist.armv8/$BINDIR/wrjpgcom \
|
||||
-output $PKGROOT/$BINDIR/wrjpgcom
|
||||
fi
|
||||
|
||||
install_name_tool -id $LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib $PKGROOT/$LIBDIR/libjpeg.@SO_MAJOR_VERSION@.dylib
|
||||
install_name_tool -id $LIBDIR/libturbojpeg.0.dylib $PKGROOT/$LIBDIR/libturbojpeg.0.dylib
|
||||
|
||||
|
||||
Reference in New Issue
Block a user