build: add iOS simulator build variant

This commit is contained in:
osy 2021-05-17 19:44:14 -07:00
parent 910887d561
commit 1719710cf2
4 changed files with 37 additions and 32 deletions

View File

@ -20,7 +20,12 @@ jobs:
strategy:
matrix:
arch: [arm64, x86_64]
platform: [ios, ios-tci, macos]
platform: [ios, ios_simulator, ios-tci, macos]
exclude:
- arch: x86_64
platform: ios
- arch: x86_64
platform: ios-tci
steps:
- name: Checkout
uses: actions/checkout@v2

View File

@ -4383,7 +4383,6 @@
"$(PROJECT_DIR)/$(QUOTED_SYSROOT_DIR)/include/spice-1",
"$(PROJECT_DIR)/$(QUOTED_SYSROOT_DIR)/include/libusb-1.0",
);
QUOTED_SYSROOT_DIR = "\"$(SYSROOT_DIR)\"";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LIBRARY_SEARCH_PATHS = (
"$(PROJECT_DIR)/$(QUOTED_SYSROOT_DIR)/lib",
@ -4394,8 +4393,9 @@
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
QUOTED_SYSROOT_DIR = "\"$(SYSROOT_DIR)\"";
SDKROOT = iphoneos;
SYSROOT_DIR = "sysroot-$(PLATFORM_DISPLAY_NAME)-$(ARCHS:identifier)";
SYSROOT_DIR = "sysroot-$(PLATFORM_DISPLAY_NAME:identifier)$(PLATFORM_SUFFIX)-$(ARCHS:identifier)";
};
name = Debug;
};
@ -4455,7 +4455,6 @@
"$(PROJECT_DIR)/$(QUOTED_SYSROOT_DIR)/include/spice-1",
"$(PROJECT_DIR)/$(QUOTED_SYSROOT_DIR)/include/libusb-1.0",
);
QUOTED_SYSROOT_DIR = "\"$(SYSROOT_DIR)\"";
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
LIBRARY_SEARCH_PATHS = (
"$(PROJECT_DIR)/$(QUOTED_SYSROOT_DIR)/lib",
@ -4465,8 +4464,9 @@
MACOSX_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
QUOTED_SYSROOT_DIR = "\"$(SYSROOT_DIR)\"";
SDKROOT = iphoneos;
SYSROOT_DIR = "sysroot-$(PLATFORM_DISPLAY_NAME)-$(ARCHS:identifier)";
SYSROOT_DIR = "sysroot-$(PLATFORM_DISPLAY_NAME:identifier)$(PLATFORM_SUFFIX)-$(ARCHS:identifier)";
VALIDATE_PRODUCT = YES;
};
name = Release;
@ -4576,6 +4576,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
PLATFORM_SUFFIX = "-TCI";
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_PREFIX:default=com.utmapp).UTM-SE";
PRODUCT_MODULE_NAME = UTM;
PRODUCT_NAME = "UTM SE";
@ -4606,6 +4607,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
PLATFORM_SUFFIX = "-TCI";
PRODUCT_BUNDLE_IDENTIFIER = "$(PRODUCT_BUNDLE_PREFIX:default=com.utmapp).UTM-SE";
PRODUCT_MODULE_NAME = UTM;
PRODUCT_NAME = "UTM SE";

View File

@ -38,7 +38,7 @@ command -v realpath >/dev/null 2>&1 || realpath() {
usage () {
echo "Usage: [VARIABLE...] $(basename $0) [-p platform] [-a architecture] [-q qemu_path] [-d] [-r]"
echo ""
echo " -p platform Target platform. Default ios. [ios|ios-tci|macos]"
echo " -p platform Target platform. Default ios. [ios|ios_simulator|ios-tci|ios_simulator-tci|macos]"
echo " -a architecture Target architecture. Default arm64. [armv7|armv7s|arm64|i386|x86_64]"
echo " -q qemu_path Do not download QEMU, use qemu_path instead."
echo " -d, --download Force re-download of source even if already downloaded."
@ -441,32 +441,37 @@ CHOST=$CPU-apple-darwin
export CHOST
case $PLATFORM in
ios | ios-tci )
ios* )
if [ -z "$SDKMINVER" ]; then
SDKMINVER="$IOS_SDKMINVER"
fi
case $ARCH in
arm* )
SDK=iphoneos
CFLAGS_MINVER="-miphoneos-version-min=$SDKMINVER"
;;
i386 | x86_64 )
case $PLATFORM in
*simulator* )
SDK=iphonesimulator
CFLAGS_MINVER="-mios-simulator-version-min=$SDKMINVER"
PLATFORM_FAMILY_PREFIX="iOS_Simulator"
;;
* )
SDK=iphoneos
CFLAGS_MINVER="-miphoneos-version-min=$SDKMINVER"
PLATFORM_FAMILY_PREFIX="iOS"
;;
esac
CFLAGS_TARGET=
if [ "$PLATFORM" == "ios-tci" ]; then
case $PLATFORM in
*-tci )
if [ "$ARCH" == "arm64" ]; then
TCI_BUILD_FLAGS="--enable-tcg-tcti --target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,ppc-softmmu,ppc64-softmmu,riscv32-softmmu,riscv64-softmmu,x86_64-softmmu"
else
TCI_BUILD_FLAGS="--enable-tcg-interpreter"
fi
PLATFORM_FAMILY_NAME="iOS-TCI"
PLATFORM_FAMILY_NAME="$PLATFORM_FAMILY_PREFIX-TCI"
SKIP_USB_BUILD=1
else
PLATFORM_FAMILY_NAME="iOS"
fi
;;
* )
PLATFORM_FAMILY_NAME="$PLATFORM_FAMILY_PREFIX"
;;
esac
QEMU_PLATFORM_BUILD_FLAGS="--disable-debug-info --enable-shared-lib --disable-hvf --disable-cocoa --disable-curl --disable-slirp-smbd --with-coroutine=libucontext $TCI_BUILD_FLAGS"
;;
macos )

View File

@ -9,7 +9,7 @@ BASEDIR="$(dirname "$(realpath $0)")"
usage () {
echo "Usage: $(basename $0) [-p platform] [-a architecture] [-t targetversion] [-o output]"
echo ""
echo " -p platform Target platform. Default ios. [ios|ios-tci|macos]"
echo " -p platform Target platform. Default ios. [ios|ios_simulator|ios-tci|ios_simulator-tci|macos]"
echo " -a architecture Target architecture. Default arm64. [armv7|armv7s|arm64|i386|x86_64]"
echo " -o output Output archive path. Default is current directory."
echo ""
@ -44,10 +44,10 @@ while [ "x$1" != "x" ]; do
done
case $PLATFORM in
ios )
ios | ios_simulator )
SCHEME="iOS"
;;
ios-tci )
*-tci )
SCHEME="iOS-TCI"
;;
macos )
@ -60,18 +60,11 @@ esac
case $PLATFORM in
ios | ios-tci )
case $ARCH in
arm* )
SDK=iphoneos
;;
i386 | x86_64 )
*simulator* )
SDK=iphonesimulator
;;
* )
usage
;;
esac
;;
macos )
SDK=macosx
;;