From: DRC Date: Fri, 10 May 2019 01:36:51 +0000 (-0500) Subject: Discontinue support for 32-bit iOS builds X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c055c88057f8a2acdaaaa62ef4688f04ded57385;p=libjpeg-turbo Discontinue support for 32-bit iOS builds --- diff --git a/BUILDING.md b/BUILDING.md index 9ef1f45..958b054 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -407,93 +407,6 @@ for these platforms. it should be installed in your `PATH`. -### ARMv7 (32-bit) - -**gas-preprocessor.pl required** - -The following scripts demonstrate how to build libjpeg-turbo to run on the -iPhone 3GS-4S/iPad 1st-3rd Generation and newer: - -#### Xcode 4.2 and earlier (LLVM-GCC) - - IOS_PLATFORMDIR=/Developer/Platforms/iPhoneOS.platform - IOS_SYSROOT=($IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS*.sdk) - export CFLAGS="-mfloat-abi=softfp -march=armv7 -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -miphoneos-version-min=3.0" - - cd {build_directory} - - cat <toolchain.cmake - set(CMAKE_SYSTEM_NAME Darwin) - set(CMAKE_SYSTEM_PROCESSOR arm) - set(CMAKE_C_COMPILER ${IOS_PLATFORMDIR}/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2) - EOF - - cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \ - -DCMAKE_OSX_SYSROOT=${IOS_SYSROOT[0]} \ - [additional CMake flags] {source_directory} - make - -#### Xcode 4.3-4.6 (LLVM-GCC) - -Same as above, but replace the first line with: - - IOS_PLATFORMDIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - -#### Xcode 5 and later (Clang) - - IOS_PLATFORMDIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - IOS_SYSROOT=($IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS*.sdk) - export CFLAGS="-mfloat-abi=softfp -arch armv7 -miphoneos-version-min=3.0" - export ASMFLAGS="-no-integrated-as" - - cd {build_directory} - - cat <toolchain.cmake - set(CMAKE_SYSTEM_NAME Darwin) - set(CMAKE_SYSTEM_PROCESSOR arm) - set(CMAKE_C_COMPILER /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang) - EOF - - cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \ - -DCMAKE_OSX_SYSROOT=${IOS_SYSROOT[0]} \ - [additional CMake flags] {source_directory} - make - - -### ARMv7s (32-bit) - -**gas-preprocessor.pl required** - -The following scripts demonstrate how to build libjpeg-turbo to run on the -iPhone 5/iPad 4th Generation and newer: - -#### Xcode 4.5-4.6 (LLVM-GCC) - - IOS_PLATFORMDIR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform - IOS_SYSROOT=($IOS_PLATFORMDIR/Developer/SDKs/iPhoneOS*.sdk) - export CFLAGS="-Wall -mfloat-abi=softfp -march=armv7s -mcpu=swift -mtune=swift -mfpu=neon -miphoneos-version-min=6.0" - - cd {build_directory} - - cat <toolchain.cmake - set(CMAKE_SYSTEM_NAME Darwin) - set(CMAKE_SYSTEM_PROCESSOR arm) - set(CMAKE_C_COMPILER ${IOS_PLATFORMDIR}/Developer/usr/bin/arm-apple-darwin10-llvm-gcc-4.2) - EOF - - cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \ - -DCMAKE_OSX_SYSROOT=${IOS_SYSROOT[0]} \ - [additional CMake flags] {source_directory} - make - -#### Xcode 5 and later (Clang) - -Same as the ARMv7 build procedure for Xcode 5 and later, except replace the -compiler flags as follows: - - export CFLAGS="-Wall -mfloat-abi=softfp -arch armv7s -miphoneos-version-min=6.0" - - ### ARMv8 (64-bit) **gas-preprocessor.pl required if using Xcode < 6** @@ -518,9 +431,6 @@ iPhone 5S/iPad Mini 2/iPad Air and newer. [additional CMake flags] {source_directory} make -Once built, lipo can be used to combine the ARMv7, v7s, and/or v8 variants into -a universal library. - Building libjpeg-turbo for Android ---------------------------------- @@ -744,22 +654,17 @@ string excludes that architecture from the package. * `OSX_32BIT_BUILD`: Directory containing an i386 (32-bit) Mac build of libjpeg-turbo (default: *{source_directory}*/osxx86) -* `IOS_ARMV7_BUILD`: Directory containing an ARMv7 (32-bit) iOS build of - libjpeg-turbo (default: *{source_directory}*/iosarmv7) -* `IOS_ARMV7S_BUILD`: Directory containing an ARMv7s (32-bit) iOS build of - libjpeg-turbo (default: *{source_directory}*/iosarmv7s) * `IOS_ARMV8_BUILD`: Directory containing an ARMv8 (64-bit) iOS build of libjpeg-turbo (default: *{source_directory}*/iosarmv8) -You should first use CMake to configure i386, ARMv7, ARMv7s, and/or ARMv8 -sub-builds of libjpeg-turbo (see "Build Recipes" and "Building libjpeg-turbo -for iOS" above) in build directories that match those specified in the -aforementioned CMake variables. Next, configure the primary build of -libjpeg-turbo as an out-of-tree build, and build it. Once the primary build -has been built, run `make udmg` from the build directory. The packaging system -will build the sub-builds, use lipo to combine them into a single set of -universal binaries, then package the universal binaries in the same manner as -`make dmg`. +You should first use CMake to configure i386 and/or ARMv8 sub-builds of +libjpeg-turbo (see "Build Recipes" and "Building libjpeg-turbo for iOS" above) +in build directories that match those specified in the aforementioned CMake +variables. Next, configure the primary build of libjpeg-turbo as an +out-of-tree build, and build it. Once the primary build has been built, run +`make udmg` from the build directory. The packaging system will build the +sub-builds, use lipo to combine them into a single set of universal binaries, +then package the universal binaries in the same manner as `make dmg`. Cygwin diff --git a/ChangeLog.md b/ChangeLog.md index ad66240..bb21f88 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -35,6 +35,11 @@ approximately 2x when using the fast integer IDCT The overall decompression speedup for RGB images is now approximately 2.3-3.7x (compared to 2-3.5x with libjpeg-turbo 2.0.x.) +3. 32-bit (ARMv7 or ARMv7s) iOS builds of libjpeg-turbo are no longer +supported, and the libjpeg-turbo build system can no longer be used to package +such builds. 32-bit iOS apps cannot run in iOS 11 and later, and the App Store +no longer allows them. + 2.0.3 ===== diff --git a/cmakescripts/BuildPackages.cmake b/cmakescripts/BuildPackages.cmake index 57f0672..3adbb39 100644 --- a/cmakescripts/BuildPackages.cmake +++ b/cmakescripts/BuildPackages.cmake @@ -135,12 +135,6 @@ if(APPLE) set(DEFAULT_OSX_32BIT_BUILD ${CMAKE_SOURCE_DIR}/osxx86) set(OSX_32BIT_BUILD ${DEFAULT_OSX_32BIT_BUILD} CACHE PATH "Directory containing 32-bit (i386) Mac build to include in universal binaries (default: ${DEFAULT_OSX_32BIT_BUILD})") -set(DEFAULT_IOS_ARMV7_BUILD ${CMAKE_SOURCE_DIR}/iosarmv7) -set(IOS_ARMV7_BUILD ${DEFAULT_IOS_ARMV7_BUILD} CACHE PATH - "Directory containing ARMv7 iOS build to include in universal binaries (default: ${DEFAULT_IOS_ARMV7_BUILD})") -set(DEFAULT_IOS_ARMV7S_BUILD ${CMAKE_SOURCE_DIR}/iosarmv7s) -set(IOS_ARMV7S_BUILD ${DEFAULT_IOS_ARMV7S_BUILD} CACHE PATH - "Directory containing ARMv7s iOS build to include in universal binaries (default: ${DEFAULT_IOS_ARMV7S_BUILD})") set(DEFAULT_IOS_ARMV8_BUILD ${CMAKE_SOURCE_DIR}/iosarmv8) set(IOS_ARMV8_BUILD ${DEFAULT_IOS_ARMV8_BUILD} CACHE PATH "Directory containing ARMv8 iOS build to include in universal binaries (default: ${DEFAULT_IOS_ARMV8_BUILD})") diff --git a/release/makemacpkg.in b/release/makemacpkg.in index b0a2e23..d499ef4 100644 --- a/release/makemacpkg.in +++ b/release/makemacpkg.in @@ -54,8 +54,6 @@ VERSION=@VERSION@ BUILD=@BUILD@ SRCDIR=@CMAKE_CURRENT_SOURCE_DIR@ BUILDDIR32=@OSX_32BIT_BUILD@ -BUILDDIRARMV7=@IOS_ARMV7_BUILD@ -BUILDDIRARMV7S=@IOS_ARMV7S_BUILD@ BUILDDIRARMV8=@IOS_ARMV8_BUILD@ WITH_JAVA=@WITH_JAVA@ LIPO=lipo @@ -220,14 +218,6 @@ install_ios() -output $PKGROOT/$BINDIR/wrjpgcom } -if [ $UNIVERSAL = 1 -a "$BUILDDIRARMV7" != "" ]; then - install_ios $BUILDDIRARMV7 ARMv7 armv7 arm -fi - -if [ $UNIVERSAL = 1 -a "$BUILDDIRARMV7S" != "" ]; then - install_ios $BUILDDIRARMV7S ARMv7s armv7s arm -fi - if [ $UNIVERSAL = 1 -a "BUILDDIRARMV8" != "" ]; then install_ios $BUILDDIRARMV8 ARMv8 armv8 arm64 fi