Build: Make Mac packaging architecture-agnostic
Rename the ARMV8_BUILD CMake variable to SECONDARY_BUILD, and modify the makemacpkg script so that it allows any architecture in a primary or secondary build. The idea is that Apple Silicon users can package an arm64 primary build and a secondary x86_64 build, and Intel users can package an x86_64 primary build and a secondary arm64 build, using the same procedure. Also simplify the iOS build instructions, using the CMAKE_OSX_ARCHITECTURES variable rather than a toolchain.
This commit is contained in:
@@ -51,7 +51,7 @@ PKGNAME=@PKGNAME@
|
||||
VERSION=@VERSION@
|
||||
BUILD=@BUILD@
|
||||
SRCDIR=@CMAKE_CURRENT_SOURCE_DIR@
|
||||
BUILDDIRARMV8=@ARMV8_BUILD@
|
||||
BUILDDIRSECONDARY=@SECONDARY_BUILD@
|
||||
WITH_JAVA=@WITH_JAVA@
|
||||
MACOS_APP_CERT_NAME="@MACOS_APP_CERT_NAME@"
|
||||
MACOS_INST_CERT_NAME="@MACOS_INST_CERT_NAME@"
|
||||
@@ -98,69 +98,66 @@ if [ "$PREFIX" = "@CMAKE_INSTALL_DEFAULT_PREFIX@" -a "$DOCDIR" = "@CMAKE_INSTALL
|
||||
ln -fs /Library/Documentation/$PKGNAME $PKGROOT$DOCDIR
|
||||
fi
|
||||
|
||||
install_subbuild()
|
||||
install_secondarybuild()
|
||||
{
|
||||
BUILDDIR=$1
|
||||
ARCHNAME=$2
|
||||
DIRNAME=$3
|
||||
LIPOARCH=$4
|
||||
|
||||
if [ ! -d $BUILDDIR ]; then
|
||||
echo ERROR: $ARCHNAME build directory $BUILDDIR does not exist
|
||||
echo ERROR: Secondary build directory $BUILDDIR does not exist
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f $BUILDDIR/Makefile -a ! -f $BUILDDIR/build.ninja ]; then
|
||||
echo ERROR: $ARCHNAME build directory $BUILDDIR is not configured
|
||||
echo ERROR: Secondary build directory $BUILDDIR is not configured
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p $TMPDIR/dist.$DIRNAME
|
||||
mkdir -p $TMPDIR/dist.secondary
|
||||
pushd $BUILDDIR
|
||||
DESTDIR=$TMPDIR/dist.$DIRNAME @CMAKE_MAKE_PROGRAM@ install
|
||||
DESTDIR=$TMPDIR/dist.secondary @CMAKE_MAKE_PROGRAM@ install
|
||||
popd
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/$LIBJPEG_DSO_NAME \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$LIBDIR/$LIBJPEG_DSO_NAME \
|
||||
$TMPDIR/dist.secondary/$LIBDIR/$LIBJPEG_DSO_NAME \
|
||||
-output $PKGROOT/$LIBDIR/$LIBJPEG_DSO_NAME
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libjpeg.a \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$LIBDIR/libjpeg.a \
|
||||
$TMPDIR/dist.secondary/$LIBDIR/libjpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libjpeg.a
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/$TURBOJPEG_DSO_NAME \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$LIBDIR/$TURBOJPEG_DSO_NAME \
|
||||
$TMPDIR/dist.secondary/$LIBDIR/$TURBOJPEG_DSO_NAME \
|
||||
-output $PKGROOT/$LIBDIR/$TURBOJPEG_DSO_NAME
|
||||
$LIPO -create \
|
||||
$PKGROOT/$LIBDIR/libturbojpeg.a \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$LIBDIR/libturbojpeg.a \
|
||||
$TMPDIR/dist.secondary/$LIBDIR/libturbojpeg.a \
|
||||
-output $PKGROOT/$LIBDIR/libturbojpeg.a
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/cjpeg \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$BINDIR/cjpeg \
|
||||
$TMPDIR/dist.secondary/$BINDIR/cjpeg \
|
||||
-output $PKGROOT/$BINDIR/cjpeg
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/djpeg \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$BINDIR/djpeg \
|
||||
$TMPDIR/dist.secondary/$BINDIR/djpeg \
|
||||
-output $PKGROOT/$BINDIR/djpeg
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/jpegtran \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$BINDIR/jpegtran \
|
||||
$TMPDIR/dist.secondary/$BINDIR/jpegtran \
|
||||
-output $PKGROOT/$BINDIR/jpegtran
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/tjbench \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$BINDIR/tjbench \
|
||||
$TMPDIR/dist.secondary/$BINDIR/tjbench \
|
||||
-output $PKGROOT/$BINDIR/tjbench
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/rdjpgcom \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$BINDIR/rdjpgcom \
|
||||
$TMPDIR/dist.secondary/$BINDIR/rdjpgcom \
|
||||
-output $PKGROOT/$BINDIR/rdjpgcom
|
||||
$LIPO -create \
|
||||
$PKGROOT/$BINDIR/wrjpgcom \
|
||||
-arch $LIPOARCH $TMPDIR/dist.$DIRNAME/$BINDIR/wrjpgcom \
|
||||
$TMPDIR/dist.secondary/$BINDIR/wrjpgcom \
|
||||
-output $PKGROOT/$BINDIR/wrjpgcom
|
||||
}
|
||||
|
||||
if [ "$BUILDDIRARMV8" != "" ]; then
|
||||
install_subbuild $BUILDDIRARMV8 Armv8 armv8 arm64
|
||||
if [ "$BUILDDIRSECONDARY" != "" ]; then
|
||||
install_secondarybuild $BUILDDIRSECONDARY
|
||||
fi
|
||||
|
||||
install_name_tool -id $LIBDIR/$LIBJPEG_DSO_NAME $PKGROOT/$LIBDIR/$LIBJPEG_DSO_NAME
|
||||
|
||||
Reference in New Issue
Block a user