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: strategy:
matrix: matrix:
arch: [arm64, x86_64] 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: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2

View File

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

View File

@ -38,7 +38,7 @@ command -v realpath >/dev/null 2>&1 || realpath() {
usage () { usage () {
echo "Usage: [VARIABLE...] $(basename $0) [-p platform] [-a architecture] [-q qemu_path] [-d] [-r]" echo "Usage: [VARIABLE...] $(basename $0) [-p platform] [-a architecture] [-q qemu_path] [-d] [-r]"
echo "" 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 " -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 " -q qemu_path Do not download QEMU, use qemu_path instead."
echo " -d, --download Force re-download of source even if already downloaded." echo " -d, --download Force re-download of source even if already downloaded."
@ -441,32 +441,37 @@ CHOST=$CPU-apple-darwin
export CHOST export CHOST
case $PLATFORM in case $PLATFORM in
ios | ios-tci ) ios* )
if [ -z "$SDKMINVER" ]; then if [ -z "$SDKMINVER" ]; then
SDKMINVER="$IOS_SDKMINVER" SDKMINVER="$IOS_SDKMINVER"
fi fi
case $ARCH in case $PLATFORM in
arm* ) *simulator* )
SDK=iphoneos
CFLAGS_MINVER="-miphoneos-version-min=$SDKMINVER"
;;
i386 | x86_64 )
SDK=iphonesimulator SDK=iphonesimulator
CFLAGS_MINVER="-mios-simulator-version-min=$SDKMINVER" 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 esac
CFLAGS_TARGET= CFLAGS_TARGET=
if [ "$PLATFORM" == "ios-tci" ]; then case $PLATFORM in
*-tci )
if [ "$ARCH" == "arm64" ]; then 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" 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 else
TCI_BUILD_FLAGS="--enable-tcg-interpreter" TCI_BUILD_FLAGS="--enable-tcg-interpreter"
fi fi
PLATFORM_FAMILY_NAME="iOS-TCI" PLATFORM_FAMILY_NAME="$PLATFORM_FAMILY_PREFIX-TCI"
SKIP_USB_BUILD=1 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" 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 ) macos )

View File

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