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}"