diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
index 0204fbb17fa7c9b8357c995100fc590cb89f55e2..eff7949928628512efa4fb8898ab18fc76a24da4 100644
--- a/contrib/src/ffmpeg/rules.mak
+++ b/contrib/src/ffmpeg/rules.mak
@@ -352,6 +352,13 @@ FFMPEGCONF += \
 	--target-os=darwin \
 	--enable-cross-compile \
 	--enable-pic
+# vpx not supported on iPhoneSimulator on arm64
+ifeq ($(IOS_TARGET_PLATFORM),iPhoneSimulator)
+ifeq ($(ARCH),arm64)
+    DEPS_ffmpeg := $(filter-out vpx, $(DEPS_ffmpeg))
+    FFMPEGCONF += --disable-libvpx
+endif
+endif
 endif
 
 ifndef HAVE_IOS
diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak
index df25f4b78b02d144e622696d9b2602dc48590103..a743ea6425fcc9bcc38f35f833e550e4eafbe169 100644
--- a/contrib/src/pjproject/rules.mak
+++ b/contrib/src/pjproject/rules.mak
@@ -55,7 +55,8 @@ endif
 
 .pjproject: pjproject
 ifdef HAVE_IOS
-	cd $< && ARCH="-arch $(ARCH)" IPHONESDK=$(IOS_SDK) $(HOSTVARS) EXCLUDE_APP=1 ./configure-iphone $(HOSTCONF) $(PJPROJECT_OPTIONS)
+    # provide DEVPATH and MIN_IOS to build arm64 simulator
+	cd $< && ARCH="-arch $(ARCH)" IPHONESDK=$(IOS_SDK) $(HOSTVARS) EXCLUDE_APP=1 DEVPATH="$(DEVPATH)" MIN_IOS="$(MIN_IOS)" ./configure-iphone $(HOSTCONF) $(PJPROJECT_OPTIONS)
 else ifdef HAVE_MACOSX
 	cd $< && ARCH="-arch $(ARCH)" $(HOSTVARS) EXCLUDE_APP=1 ./aconfigure $(HOSTCONF) $(PJPROJECT_OPTIONS)
 else
diff --git a/contrib/src/x264/rules.mak b/contrib/src/x264/rules.mak
index 594e2fc3d191337f1790cffd7a3bd088f9f81710..e8a437b0ac58070f5b6ebc949049b0f50d8b1ccb 100644
--- a/contrib/src/x264/rules.mak
+++ b/contrib/src/x264/rules.mak
@@ -37,6 +37,12 @@ X264CONF += --disable-asm
 endif
 endif
 
+ifdef HAVE_IOS
+ifeq ($(ARCH),x86_64)
+X264CONF += --disable-asm
+endif
+endif
+
 $(TARBALLS)/x264-$(X264_HASH).tar.bz2:
 	$(call download,$(X264_URL),master,$(X264_HASH))
 
@@ -55,7 +61,7 @@ x264: x264-$(X264_HASH).tar.bz2 .sum-x264
 ifdef HAVE_ANDROID
 	cd $< && $(HOSTVARS) AS="$(CC)" ./configure $(X264CONF)
 else
-ifeq ($(IOS_TARGET_PLATFORM),iPhoneOS)
+ifdef HAVE_IOS
 	cd $< && $(HOSTVARS) ASFLAGS="$(CFLAGS)" ./configure $(X264CONF)
 else
 	cd $< && $(HOSTVARS) ./configure $(X264CONF)