diff --git a/changes/bug3909 b/changes/bug3909
new file mode 100644
index 0000000000000000000000000000000000000000..0b4b292030128e4173ba0dd441571bec310bc42d
--- /dev/null
+++ b/changes/bug3909
@@ -0,0 +1,3 @@
+  o Build fixes:
+    - Search for a platform-specific version of "ar" when cross-compiling.
+      Should fix builds on iOS. Found by Marco Bonetti.
diff --git a/configure.in b/configure.in
index 4e84298456d4e02d8edd553b7bce389ed4aea076..52ea0940244cc0320f43e21a5193007277d95e81 100644
--- a/configure.in
+++ b/configure.in
@@ -118,6 +118,12 @@ if test "$enable_local_appdata" = "yes"; then
             [Defined if we default to host local appdata paths on Windows])
 fi
 
+dnl check for the correct "ar" when cross-compiling
+AN_MAKEVAR([AR], [AC_PROG_AR])
+AN_PROGRAM([ar], [AC_PROG_AR])
+AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL([AR], [ar], [ar])])
+AC_PROG_AR
+
 AC_PROG_CC
 AC_PROG_CPP
 AC_PROG_MAKE_SET