Eliminate 32-bit Mac build/packaging support

The scales have now tilted overwhelmingly in favor of eliminating
support for 32-bit Macs:

- 32-bit applications are only necessary in order to support OS X 10.5
  "Leopard" and OS X 10.6 "Snow Leopard".  OS X 10.7 "Lion" requires a
  64-bit Mac and supports all 64-bit Macs.
- 32-bit applications are no longer allowed in the macOS App Store.
- 32-bit applications no longer run in macOS 10.15 "Catalina".
- 32-bit applications do not support thread-local storage, so the
  TurboJPEG API library's global error handler is not thread-safe with
  such applications.
- libjpeg-turbo 2.1.x no longer supports 32-bit iOS apps, so it makes
  sense to also eliminate support for 32-bit macOS applications.

It's time.
This commit is contained in:
DRC
2020-06-25 19:08:19 -05:00
parent b797f70012
commit 4c5a15c362
4 changed files with 5 additions and 63 deletions

View File

@@ -68,7 +68,7 @@ before_install:
pushd $HOME/Downloads && pushd $HOME/Downloads &&
curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci && curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci &&
. ./macports-ci install && . ./macports-ci install &&
sudo /opt/local/bin/port -N install gcc6 yasm md5sha1sum && sudo /opt/local/bin/port -N install yasm md5sha1sum &&
popd && popd &&
git clone --depth=1 https://github.com/libjpeg-turbo/gas-preprocessor.git ~/src/gas-preprocessor && git clone --depth=1 https://github.com/libjpeg-turbo/gas-preprocessor.git ~/src/gas-preprocessor &&
ln -fs /Applications/Xcode.app /Applications/Xcode83.app; ln -fs /Applications/Xcode.app /Applications/Xcode83.app;

View File

@@ -38,10 +38,10 @@ 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 such builds. 32-bit iOS apps cannot run in iOS 11 and later, and the App Store
no longer allows them. no longer allows them.
4. The TurboJPEG Java wrapper in the "official" libjpeg-turbo SDK for macOS no 4. 32-bit (i386) OS X/macOS builds of libjpeg-turbo are no longer supported,
longer supports 32-bit Java virtual machines. Oracle no longer provides a and the libjpeg-turbo build system can no longer be used to package such
32-bit JVM for macOS, and Apple's implementation of Java 1.6 (Java for OS X builds. 32-bit Mac applications cannot run in macOS 10.15 "Catalina" and
systems) is long obsolete. later, and the App Store no longer allows them.
5. The SSE2 (x86 SIMD) and C Huffman encoding algorithms have been 5. The SSE2 (x86 SIMD) and C Huffman encoding algorithms have been
significantly optimized, resulting in a measured average overall compression significantly optimized, resulting in a measured average overall compression

View File

@@ -119,8 +119,6 @@ endif() # WIN32
if(APPLE) if(APPLE)
set(OSX_32BIT_BUILD "" CACHE PATH
"Directory containing 32-bit (i386) Mac build to include in universal binaries")
set(IOS_ARMV8_BUILD "" CACHE PATH set(IOS_ARMV8_BUILD "" CACHE PATH
"Directory containing ARMv8 iOS build to include in universal binaries") "Directory containing ARMv8 iOS build to include in universal binaries")

View File

@@ -51,7 +51,6 @@ PKGNAME=@PKGNAME@
VERSION=@VERSION@ VERSION=@VERSION@
BUILD=@BUILD@ BUILD=@BUILD@
SRCDIR=@CMAKE_CURRENT_SOURCE_DIR@ SRCDIR=@CMAKE_CURRENT_SOURCE_DIR@
BUILDDIR32=@OSX_32BIT_BUILD@
BUILDDIRARMV8=@IOS_ARMV8_BUILD@ BUILDDIRARMV8=@IOS_ARMV8_BUILD@
WITH_JAVA=@WITH_JAVA@ WITH_JAVA=@WITH_JAVA@
OSX_APP_CERT_NAME="@OSX_APP_CERT_NAME@" OSX_APP_CERT_NAME="@OSX_APP_CERT_NAME@"
@@ -99,61 +98,6 @@ if [ "$PREFIX" = "@CMAKE_INSTALL_DEFAULT_PREFIX@" -a "$DOCDIR" = "@CMAKE_INSTALL
ln -fs /Library/Documentation/$PKGNAME $PKGROOT$DOCDIR ln -fs /Library/Documentation/$PKGNAME $PKGROOT$DOCDIR
fi fi
if [ "$BUILDDIR32" != "" ]; then
if [ ! -d $BUILDDIR32 ]; then
echo ERROR: 32-bit build directory $BUILDDIR32 does not exist
exit 1
fi
if [ ! -f $BUILDDIR32/Makefile ]; then
echo ERROR: 32-bit build directory $BUILDDIR32 is not configured
exit 1
fi
mkdir -p $TMPDIR/dist.x86
pushd $BUILDDIR32
make install DESTDIR=$TMPDIR/dist.x86
popd
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$LIBDIR/$LIBJPEG_DSO_NAME \
-arch x86_64 $PKGROOT/$LIBDIR/$LIBJPEG_DSO_NAME \
-output $PKGROOT/$LIBDIR/$LIBJPEG_DSO_NAME
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$LIBDIR/libjpeg.a \
-arch x86_64 $PKGROOT/$LIBDIR/libjpeg.a \
-output $PKGROOT/$LIBDIR/libjpeg.a
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$LIBDIR/$TURBOJPEG_DSO_NAME \
-arch x86_64 $PKGROOT/$LIBDIR/$TURBOJPEG_DSO_NAME \
-output $PKGROOT/$LIBDIR/$TURBOJPEG_DSO_NAME
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$LIBDIR/libturbojpeg.a \
-arch x86_64 $PKGROOT/$LIBDIR/libturbojpeg.a \
-output $PKGROOT/$LIBDIR/libturbojpeg.a
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$BINDIR/cjpeg \
-arch x86_64 $PKGROOT/$BINDIR/cjpeg \
-output $PKGROOT/$BINDIR/cjpeg
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$BINDIR/djpeg \
-arch x86_64 $PKGROOT/$BINDIR/djpeg \
-output $PKGROOT/$BINDIR/djpeg
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$BINDIR/jpegtran \
-arch x86_64 $PKGROOT/$BINDIR/jpegtran \
-output $PKGROOT/$BINDIR/jpegtran
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$BINDIR/tjbench \
-arch x86_64 $PKGROOT/$BINDIR/tjbench \
-output $PKGROOT/$BINDIR/tjbench
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$BINDIR/rdjpgcom \
-arch x86_64 $PKGROOT/$BINDIR/rdjpgcom \
-output $PKGROOT/$BINDIR/rdjpgcom
$LIPO -create \
-arch i386 $TMPDIR/dist.x86/$BINDIR/wrjpgcom \
-arch x86_64 $PKGROOT/$BINDIR/wrjpgcom \
-output $PKGROOT/$BINDIR/wrjpgcom
fi
install_ios() install_ios()
{ {
BUILDDIR=$1 BUILDDIR=$1