mirror of
https://github.com/ioquake/ioq3.git
synced 2024-11-10 07:11:46 +00:00
Added shell script to compile Universal 2 binary (x86_64+arm64)
This commit is contained in:
parent
a1b1c7d5eb
commit
6133df65fc
4 changed files with 57 additions and 3 deletions
2
Makefile
2
Makefile
|
@ -480,7 +480,7 @@ ifeq ($(PLATFORM),darwin)
|
||||||
BASE_CFLAGS += -arch x86_64
|
BASE_CFLAGS += -arch x86_64
|
||||||
endif
|
endif
|
||||||
ifeq ($(ARCH),arm64)
|
ifeq ($(ARCH),arm64)
|
||||||
HAVE_VM_COMPILED=false # TODO: implement compiled vm
|
# HAVE_VM_COMPILED=false # TODO: implement compiled vm
|
||||||
BASE_CFLAGS += -arch arm64
|
BASE_CFLAGS += -arch arm64
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -263,7 +263,11 @@ fi
|
||||||
|
|
||||||
# set the final application bundle output directory
|
# set the final application bundle output directory
|
||||||
if [ "${2}" == "" ]; then
|
if [ "${2}" == "" ]; then
|
||||||
BUILT_PRODUCTS_DIR="${OBJROOT}/${TARGET_NAME}-darwin-universal"
|
if [ -n "${MACOSX_DEPLOYMENT_TARGET_ARM64}" ]; then
|
||||||
|
BUILT_PRODUCTS_DIR="${OBJROOT}/${TARGET_NAME}-darwin-universal2"
|
||||||
|
else
|
||||||
|
BUILT_PRODUCTS_DIR="${OBJROOT}/${TARGET_NAME}-darwin-universal"
|
||||||
|
fi
|
||||||
if [ ! -d ${BUILT_PRODUCTS_DIR} ]; then
|
if [ ! -d ${BUILT_PRODUCTS_DIR} ]; then
|
||||||
mkdir -p ${BUILT_PRODUCTS_DIR} || exit 1;
|
mkdir -p ${BUILT_PRODUCTS_DIR} || exit 1;
|
||||||
fi
|
fi
|
||||||
|
|
50
make-macosx-ub2.sh
Executable file
50
make-macosx-ub2.sh
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
#!/bin/bash
|
||||||
|
CC=gcc-4.0
|
||||||
|
|
||||||
|
cd `dirname $0`
|
||||||
|
if [ ! -f Makefile ]; then
|
||||||
|
echo "This script must be run from the ioquake3 build directory"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This script is to build a Universal 2 binary
|
||||||
|
# (Apple's term for an x86_64 and arm64 binary)
|
||||||
|
|
||||||
|
unset X86_64_SDK
|
||||||
|
unset X86_64_CFLAGS
|
||||||
|
unset X86_64_MACOSX_VERSION_MIN
|
||||||
|
unset ARM64_SDK
|
||||||
|
unset ARM64_CFLAGS
|
||||||
|
unset ARM64_MACOSX_VERSION_MIN
|
||||||
|
|
||||||
|
X86_64_MACOSX_VERSION_MIN="10.7"
|
||||||
|
ARM64_MACOSX_VERSION_MIN="11.0"
|
||||||
|
|
||||||
|
echo "Building X86_64 Client/Dedicated Server"
|
||||||
|
echo "Building ARM64 Client/Dedicated Server"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# For parallel make on multicore boxes...
|
||||||
|
NCPU=`sysctl -n hw.ncpu`
|
||||||
|
|
||||||
|
# x86_64 client and server
|
||||||
|
#if [ -d build/release-release-x86_64 ]; then
|
||||||
|
# rm -r build/release-darwin-x86_64
|
||||||
|
#fi
|
||||||
|
(ARCH=x86_64 CFLAGS=$X86_64_CFLAGS MACOSX_VERSION_MIN=$X86_64_MACOSX_VERSION_MIN make -j$NCPU) || exit 1;
|
||||||
|
|
||||||
|
echo;echo
|
||||||
|
|
||||||
|
# arm64 client and server
|
||||||
|
#if [ -d build/release-release-arm64 ]; then
|
||||||
|
# rm -r build/release-darwin-arm64
|
||||||
|
#fi
|
||||||
|
(ARCH=arm64 CFLAGS=$ARM64_CFLAGS MACOSX_VERSION_MIN=$ARM64_MACOSX_VERSION_MIN make -j$NCPU) || exit 1;
|
||||||
|
|
||||||
|
echo
|
||||||
|
|
||||||
|
# use the following shell script to build a universal 2 application bundle
|
||||||
|
export MACOSX_DEPLOYMENT_TARGET="10.7"
|
||||||
|
export MACOSX_DEPLOYMENT_TARGET_X86_64="$X86_64_MACOSX_VERSION_MIN"
|
||||||
|
export MACOSX_DEPLOYMENT_TARGET_ARM64="$ARM64_MACOSX_VERSION_MIN"
|
||||||
|
"./make-macosx-app.sh" release
|
|
@ -6,7 +6,7 @@
|
||||||
if [ $# -ne 1 ]; then
|
if [ $# -ne 1 ]; then
|
||||||
echo "Usage: $0 target_architecture"
|
echo "Usage: $0 target_architecture"
|
||||||
echo "Example: $0 x86"
|
echo "Example: $0 x86"
|
||||||
echo "other valid options are x86_64 or ppc"
|
echo "other valid options are arm64, x86_64 or ppc"
|
||||||
echo
|
echo
|
||||||
echo "If you don't know or care about architectures please consider using make-macosx-ub.sh instead of this script."
|
echo "If you don't know or care about architectures please consider using make-macosx-ub.sh instead of this script."
|
||||||
exit 1
|
exit 1
|
||||||
|
|
Loading…
Reference in a new issue