11
11
-- automake 1.7 or later
12
12
-- libtool 1.4 or later
14
-- NASM (if building x86 or x86-64 SIMD extensions)
14
15
* 0.98, or 2.01 or later is required for a 32-bit build
15
16
* NASM 2.00 or later is required for a 64-bit build
16
17
* NASM 2.07 or later is required for a 64-bit build on OS X. This can be
281
281
Use CMake (see recipes below)
288
This release of libjpeg-turbo can use ARM NEON SIMD instructions to accelerate
289
JPEG compression/decompression by approximately 2-4x on ARMv7 and later
290
platforms. If libjpeg-turbo is configured on an ARM Linux platform, then the
291
build system will automatically include the NEON SIMD routines, if they are
295
Building libjpeg-turbo for iOS
296
------------------------------
298
iOS platforms, such as the iPhone and iPad, also use ARM processors, some of
299
which support NEON instructions. Additional steps are required to build
300
libjpeg-turbo for these platforms. The steps below assume iOS SDK v4.3. If
301
you are using a different SDK version, then you will need to modify the
302
examples accordingly.
304
Additional build requirements:
306
gas-preprocessor.pl (https://github.com/yuvi/gas-preprocessor) should be
307
installed in your PATH.
309
Set the following shell variables for simplicity:
311
IOS_PLATFORMDIR="/Developer/Platforms/iPhoneOS.platform"
312
IOS_SYSROOT="$IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS4.3.sdk"
313
IOS_GCC="$IOS_PLATFORMDIR/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2"
315
ARM v6 only (up to and including iPhone 3G):
316
IOS_CFLAGS="-march=armv6 -mcpu=arm1176jzf-s -mfpu=vfp"
318
ARM v7 only (iPhone 3GS and newer, iPad):
319
IOS_CFLAGS="-march=armv7 -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon"
321
Follow the procedure under "Building libjpeg-turbo" above, adding
323
--host arm-apple-darwin10 --enable-static --disable-shared \
324
CC="$IOS_GCC" LD="$IOS_GCC" \
325
CFLAGS="-mfloat-abi=softfp -isysroot $IOS_SYSROOT -O3 $IOS_CFLAGS" \
326
LDFLAGS="-mfloat-abi=softfp -isysroot $IOS_SYSROOT $IOS_CFLAGS"
328
to the configure command line.
330
Once built, lipo can be used to combine the ARM v6 and v7 variants into a
285
334
*******************************************************************************
286
335
** Building on Windows (Visual C++ or MinGW)
596
645
make udmg [BUILDDIR32={32-bit build directory}]
598
647
On 64-bit OS X systems, this creates a version of the Macintosh package and
599
disk image which contains universal i386/x86-64 binaries. You should first
648
disk image that contains universal i386/x86-64 binaries. You should first
600
649
configure a 32-bit out-of-tree build of libjpeg-turbo, then configure a
601
650
64-bit out-of-tree build, then run 'make udmg' from the 64-bit build
602
651
directory. The build system will look for the 32-bit build under
610
659
make csunpkg [BUILDDIR32={32-bit build directory}]
612
On 64-bit Solaris systems, this creates a combined package which contains
661
On 64-bit Solaris systems, this creates a combined package that contains
613
662
both 32-bit and 64-bit libraries. You should first configure a 32-bit
614
663
out-of-tree build of libjpeg-turbo, then configure a 64-bit out-of-tree
615
664
build, then run 'make csunpkg' from the 64-bit build directory. The build