Fix iOS simulator on arm64 builds.
diff --git a/build.sh b/build.sh index bc183b4..890b113 100755 --- a/build.sh +++ b/build.sh
@@ -58,9 +58,6 @@ else config="debug" fi - xcrun -sdk iphoneos lipo -create -arch x86_64 ios_sim/bin/$config/librive.a ios/bin/$config/librive.a -output ios/bin/$config/librive_fat.a - # print all the available architectures - lipo -info ios/bin/$config/librive_fat.a ;; android) build "--os=android"
diff --git a/build/premake5.lua b/build/premake5.lua index 3266bb3..097eb39 100644 --- a/build/premake5.lua +++ b/build/premake5.lua
@@ -26,7 +26,7 @@ buildoptions {"-mios-version-min=10.0 -fembed-bitcode -arch armv7 -arch arm64 -arch arm64e -isysroot " .. (os.getenv("IOS_SYSROOT") or "")} filter {"system:ios", "options:variant=emulator" } - buildoptions {"-mios-version-min=10.0 -arch x86_64 -isysroot " .. (os.getenv("IOS_SYSROOT") or "")} + buildoptions {"-mios-version-min=10.0 -arch arm64 -arch x86_64 -isysroot " .. (os.getenv("IOS_SYSROOT") or "")} targetdir "%{cfg.system}_sim/bin/%{cfg.buildcfg}" objdir "%{cfg.system}_sim/obj/%{cfg.buildcfg}"
diff --git a/skia/dependencies/make_skia.sh b/skia/dependencies/make_skia.sh index 20da85f..2ca96ca 100755 --- a/skia/dependencies/make_skia.sh +++ b/skia/dependencies/make_skia.sh
@@ -86,7 +86,7 @@ " ninja -C out/ios32 -bin/gn gen out/iossim --type=static_library --args=" \ +bin/gn gen out/iossim_x64 --type=static_library --args=" \ target_os=\"ios\" \ target_cpu=\"x64\" \ extra_cflags=[\"-fno-rtti\", \"-fembed-bitcode\", \"-mios-version-min=10.0\", \"-flto=full\", \"-DSK_DISABLE_SKPICTURE\", \"-DSK_DISABLE_TEXT\", \"-DRIVE_OPTIMIZED\", \"-DSK_DISABLE_LEGACY_SHADERCONTEXT\", \"-DSK_DISABLE_LOWP_RASTER_PIPELINE\", \"-DSK_FORCE_RASTER_PIPELINE_BLITTER\", \"-DSK_DISABLE_AAA\", \"-DSK_DISABLE_EFFECT_DESERIALIZATION\"] \ @@ -123,10 +123,49 @@ skia_enable_pdf=false \ skia_enable_skottie=false \ " -ninja -C out/iossim +ninja -C out/iossim_x64 + +bin/gn gen out/iossim_arm64 --type=static_library --args=" \ + target_os=\"ios\" \ + target_cpu=\"arm64\" \ + extra_cflags=[\"-fno-rtti\", \"-fembed-bitcode\", \"-flto=full\", \"-DSK_DISABLE_SKPICTURE\", \"-DSK_DISABLE_TEXT\", \"-DRIVE_OPTIMIZED\", \"-DSK_DISABLE_LEGACY_SHADERCONTEXT\", \"-DSK_DISABLE_LOWP_RASTER_PIPELINE\", \"-DSK_FORCE_RASTER_PIPELINE_BLITTER\", \"-DSK_DISABLE_AAA\", \"-DSK_DISABLE_EFFECT_DESERIALIZATION\", \"--target=arm64-apple-ios12.0.0-simulator\"] \ + extra_ldflags=[\"--target=arm64-apple-ios12.0.0-simulator\"] \ + is_official_build=true \ + skia_use_angle=false \ + skia_use_dng_sdk=false \ + skia_use_egl=false \ + skia_use_expat=false \ + skia_use_fontconfig=false \ + skia_use_freetype=true \ + skia_use_system_freetype2=false \ + skia_use_icu=false \ + skia_use_libheif=false \ + skia_use_system_libpng=false \ + skia_use_libjpeg_turbo_encode=false \ + skia_use_libjpeg_turbo_decode=false \ + skia_use_libwebp_encode=false \ + skia_use_libwebp_decode=false \ + skia_use_lua=false \ + skia_use_piex=false \ + skia_use_vulkan=false \ + skia_use_metal=true \ + skia_use_gl=false \ + skia_use_zlib=true \ + skia_use_system_zlib=false \ + skia_enable_gpu=true \ + skia_enable_fontmgr_empty=false \ + skia_enable_spirv_validation=false \ + skia_enable_pdf=false \ + skia_use_libpng_encode = true \ + skia_use_libpng_decode = true \ + skia_enable_skottie = false \ + skia_skip_codesign = true \ + " +ninja -C out/iossim_arm64 # make fat library, note that the ios64 library is already fat with arm64 and arm64e so we don't specify arch there. -xcrun -sdk iphoneos lipo -create -arch x86_64 out/iossim/libskia.a -arch armv7 out/ios32/libskia.a out/ios64/libskia.a -output out/libskia_ios.a +xcrun -sdk iphoneos lipo -create -arch armv7 out/ios32/libskia.a out/ios64/libskia.a -output out/libskia_ios.a +xcrun -sdk iphoneos lipo -create -arch x86_64 out/iossim_x64/libskia.a out/iossim_arm64/libskia.a -output out/libskia_ios_sim.a # build static for host
diff --git a/skia/renderer/build.sh b/skia/renderer/build.sh index e8f2c62..76718b6 100755 --- a/skia/renderer/build.sh +++ b/skia/renderer/build.sh
@@ -66,9 +66,6 @@ else config="debug" fi - xcrun -sdk iphoneos lipo -create -arch x86_64 ios_sim/bin/$config/librive_skia_renderer.a ios/bin/$config/librive_skia_renderer.a -output ios/bin/$config/librive_skia_renderer_fat.a - # print all the available architectures - lipo -info ios/bin/$config/librive_skia_renderer_fat.a ;; android)
diff --git a/skia/renderer/build/premake5.lua b/skia/renderer/build/premake5.lua index 2073a29..381ef0e 100644 --- a/skia/renderer/build/premake5.lua +++ b/skia/renderer/build/premake5.lua
@@ -34,7 +34,7 @@ buildoptions {"-mios-version-min=10.0 -fembed-bitcode -arch armv7 -arch arm64 -arch arm64e -isysroot " .. (os.getenv("IOS_SYSROOT") or "")} filter {"system:ios", "options:variant=emulator" } - buildoptions {"-mios-version-min=10.0 -arch x86_64 -isysroot " .. (os.getenv("IOS_SYSROOT") or "")} + buildoptions {"-mios-version-min=10.0 -arch x86_64 -arch arm64 -isysroot " .. (os.getenv("IOS_SYSROOT") or "")} targetdir "%{cfg.system}_sim/bin/%{cfg.buildcfg}" objdir "%{cfg.system}_sim/obj/%{cfg.buildcfg}"