diff --git a/contrib/src/ffmpeg/clock_gettime.patch b/contrib/src/ffmpeg/clock_gettime.patch
new file mode 100644
index 0000000000000000000000000000000000000000..26df8f29187554c3c6ea96eb259127aaba3f6456
--- /dev/null
+++ b/contrib/src/ffmpeg/clock_gettime.patch
@@ -0,0 +1,11 @@
+--- a/configure	2016-08-17 10:38:51.000000000 -0400
++++ b/configure	2016-08-17 10:38:53.000000000 -0400
+@@ -5293,7 +5293,7 @@
+
+ check_func  access
+ check_func  arc4random
+-check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt && LIBRT="-lrt"; }
++#check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt && LIBRT="-lrt"; }
+ check_func  fcntl
+ check_func  fork
+ check_func  gethrtime
diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
index c1e7cd50d0729e9e41860d523ac244ef4685b5c4..3ff65c545a496b056ffe8c45274cf98e2df95227 100644
--- a/contrib/src/ffmpeg/rules.mak
+++ b/contrib/src/ffmpeg/rules.mak
@@ -187,6 +187,12 @@ ffmpeg: ffmpeg-$(FFMPEG_HASH).tar.xz .sum-ffmpeg
 	(cd $@-$(FFMPEG_HASH) && tar x $(if ${BATCH_MODE},,-v) --strip-components=1 -f ../$<)
 	$(UPDATE_AUTOCONFIG)
 	$(APPLY) $(SRC)/ffmpeg/0004-avformat-fix-find_stream_info-not-considering-extradata.patch
+ifdef HAVE_IOS
+	$(APPLY) $(SRC)/ffmpeg/clock_gettime.patch
+endif
+ifdef HAVE_MACOSX
+	$(APPLY) $(SRC)/ffmpeg/clock_gettime.patch
+endif
 	$(MOVE)
 
 .ffmpeg: ffmpeg
diff --git a/contrib/src/gmp/clock_gettime.patch b/contrib/src/gmp/clock_gettime.patch
new file mode 100644
index 0000000000000000000000000000000000000000..f9a1e9e3ad5aa43a0f31c7e1b9837887077b6f7f
--- /dev/null
+++ b/contrib/src/gmp/clock_gettime.patch
@@ -0,0 +1,20 @@
+--- a/configure.ac	2016-08-17 11:04:37.000000000 -0400
++++ b/configure.ac	2016-08-17 11:04:33.000000000 -0400
+@@ -2798,8 +2798,16 @@
+ # clock_getres said only 1 millisecond.
+
+ old_LIBS="$LIBS"
+-AC_SEARCH_LIBS(clock_gettime, rt, [
+-  AC_DEFINE([HAVE_CLOCK_GETTIME],1,[Define to 1 if you have the `clock_gettime' function])])
++
++AC_ARG_WITH([clock_gettime],
++            AS_HELP_STRING([--without-clock-gettime],
++                           [Ignore presence of clock_gettime and disable it]), [], [with_clock_gettime=yes])
++
++AS_IF([test "x$with_clock_gettime" = "xyes"],
++      [AC_SEARCH_LIBS(clock_gettime, rt, [
++        AC_DEFINE([HAVE_CLOCK_GETTIME],1,[Define to 1 if you have the `clock_gettime' function])])],
++      [HAVE_CLOCK_GETTIME=0])
++
+ TUNE_LIBS="$LIBS"
+ LIBS="$old_LIBS"
diff --git a/contrib/src/gmp/rules.mak b/contrib/src/gmp/rules.mak
index 96c7980c7395c0a20e1ef60511d0f7b677111517..45939cb212c90c706de7ae59f973b72087572d82 100644
--- a/contrib/src/gmp/rules.mak
+++ b/contrib/src/gmp/rules.mak
@@ -10,13 +10,25 @@ $(TARBALLS)/gmp-$(GMP_VERSION).tar.bz2:
 
 gmp: gmp-$(GMP_VERSION).tar.bz2 .sum-gmp
 	$(UNPACK)
+ifdef HAVE_IOS
+	$(APPLY) $(SRC)/gmp/clock_gettime.patch
+endif
+ifdef HAVE_MACOSX
+	$(APPLY) $(SRC)/gmp/clock_gettime.patch
+endif
 	$(MOVE)
 
 .gmp: gmp
 ifdef HAVE_IOS
-	cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -O3" ./configure --disable-assembly $(HOSTCONF)
+	$(RECONF)
+	cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS) -O3" ./configure --disable-assembly --without-clock-gettime $(HOSTCONF)
+else
+ifdef HAVE_MACOSX
+	$(RECONF)
+	cd $< && $(HOSTVARS) ./configure --without-clock-gettime $(HOSTCONF)
 else
 	cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
+endif
 endif
 	cd $< && $(MAKE) install
 	touch $@
diff --git a/contrib/src/gnutls/rules.mak b/contrib/src/gnutls/rules.mak
index e7c2280069f2b9cc982c4a0ff63c5874ea87cde1..547084f05ae546b5cee47a132a7e71cbc3eb2195 100644
--- a/contrib/src/gnutls/rules.mak
+++ b/contrib/src/gnutls/rules.mak
@@ -68,8 +68,16 @@ endif
 	$(RECONF)
 ifdef HAVE_ANDROID
 	cd $< && $(HOSTVARS) gl_cv_header_working_stdint_h=yes ./configure $(GNUTLS_CONF)
+else
+ifdef HAVE_IOS
+	cd $< && $(HOSTVARS) ac_cv_func_clock_gettime=no CFLAGS="$(CFLAGS)" ./configure $(GNUTLS_CONF)
+else
+ifdef HAVE_MACOSX
+	cd $< && $(HOSTVARS) ac_cv_func_clock_gettime=no CFLAGS="$(CFLAGS)" ./configure $(GNUTLS_CONF)
 else
 	cd $< && $(HOSTVARS) CFLAGS="$(CFLAGS)" ./configure $(GNUTLS_CONF)
+endif
+endif
 endif
 	cd $</gl && $(MAKE) install
 	cd $</lib && $(MAKE) install
diff --git a/contrib/src/sndfile/rules.mak b/contrib/src/sndfile/rules.mak
index 51a7a37b6292968048362f2254faf8da00eacbfe..c92e8a079fd2413d1f316681af7a8a725f3d5261 100644
--- a/contrib/src/sndfile/rules.mak
+++ b/contrib/src/sndfile/rules.mak
@@ -21,6 +21,9 @@ sndfile: libsndfile-$(SNDFILE_VERSION).tar.gz .sum-sndfile
 	$(APPLY) $(SRC)/sndfile/autotools.patch
 	$(APPLY) $(SRC)/sndfile/disable_programs.patch
 	$(UPDATE_AUTOCONFIG) && cd $(UNPACK_DIR) && mv config.guess config.sub Cfg && autoreconf -fi
+ifdef HAVE_IOS
+	rm -Rf examples
+endif
 	$(MOVE)
 
 .sndfile: sndfile