diff --git a/bfd/config.bfd b/bfd/config.bfd
index f04a993f06..1e24a9d030 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -238,7 +238,7 @@ case "${targ}" in
 
 # START OF targmatch.h
 #ifdef BFD64
-  aarch64-*-darwin*)
+  aarch64-*-darwin* | aarch64-*-ios*)
     targ_defvec=aarch64_mach_o_vec
     targ_selvecs="arm_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
     targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
@@ -358,7 +358,7 @@ case "${targ}" in
     targ_selvecs=arc_elf32_be_vec
     ;;
 
-  arm-*-darwin*)
+  arm-*-darwin* | arm-*-ios*)
     targ_defvec=arm_mach_o_vec
     targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
     targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
@@ -678,7 +678,7 @@ case "${targ}" in
   i[3-7]86-*-aix*)
     targ_defvec=i386_coff_vec
     ;;
-  i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
+  i[3-7]86-*-darwin* | i[3-7]86-*-ios* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
     targ_defvec=i386_mach_o_vec
     targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
     targ64_selvecs=x86_64_mach_o_vec
@@ -762,7 +762,7 @@ case "${targ}" in
     targ_defvec=x86_64_elf64_cloudabi_vec
     want64=true
     ;;
-  x86_64-*-darwin*)
+  x86_64-*-darwin* | x86_64-*-ios*)
     targ_defvec=x86_64_mach_o_vec
     targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
     targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
@@ -1402,7 +1402,7 @@ case "${targ}" in
     targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec"
     targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
     ;;
-  powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*)
+  powerpc-*-darwin* | powerpc-*-ios* | powerpc-*-macos10* | powerpc-*-rhapsody*)
     targ_defvec=mach_o_be_vec
     targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
     targ_archs="$targ_archs bfd_i386_arch"
diff --git a/configure.ac b/configure.ac
index aae94501e4..2cceb4dad4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -510,7 +510,7 @@ if test x$enable_libgomp = x ; then
 	;;
     *-*-solaris2* | *-*-hpux11*)
 	;;
-    *-*-darwin* | *-*-aix*)
+    *-*-darwin* | *-*-ios* | *-*-aix*)
 	;;
     nvptx*-*-*)
 	;;
@@ -700,13 +700,13 @@ esac
 
 # Disable libffi for some systems.
 case "${target}" in
-  powerpc-*-darwin*)
+  powerpc-*-darwin* | powerpc-*-ios*)
     ;;
-  i[[3456789]]86-*-darwin*)
+  i[[3456789]]86-*-darwin* | i[[3456789]]86-*-ios*)
     ;;
-  x86_64-*-darwin[[912]]*)
+  x86_64-*-darwin[[912]]* | x86_64-*-ios[[912]]*)
     ;;
-  *-*-darwin*)
+  *-*-darwin* | *-*-ios*)
     noconfigdirs="$noconfigdirs target-libffi"
     ;;
   *-*-netware*)
@@ -788,7 +788,7 @@ esac
 # Disable the go frontend on systems where it is known to not work. Please keep
 # this in sync with contrib/config-list.mk.
 case "${target}" in
-*-*-darwin* | *-*-cygwin* | *-*-mingw*)
+*-*-darwin* | *-*-ios* | *-*-cygwin* | *-*-mingw*)
     unsupported_languages="$unsupported_languages go"
     ;;
 esac
@@ -797,7 +797,7 @@ esac
 # For testing, you can easily override this with --enable-libgo.
 if test x$enable_libgo = x; then
     case "${target}" in
-    *-*-darwin*)
+    *-*-darwin* | *-*-ios*)
 	# PR 46986
 	noconfigdirs="$noconfigdirs target-libgo"
 	;;
@@ -916,27 +916,27 @@ esac
 case "${target}" in
   *-*-chorusos)
     ;;
-  aarch64-*-darwin*)
+  aarch64-*-darwin* | aarch64-*-ios*)
     noconfigdirs="$noconfigdirs ld gas gdb gprof"
     noconfigdirs="$noconfigdirs sim target-rda"
     ;;
-  arm-*-darwin*)
+  arm-*-darwin* | arm-*-ios*)
     noconfigdirs="$noconfigdirs ld gas gdb gprof"
     noconfigdirs="$noconfigdirs sim target-rda"
     ;;
-  powerpc-*-darwin*)
+  powerpc-*-darwin* | powerpc-*-ios*)
     noconfigdirs="$noconfigdirs ld gas gdb gprof"
     noconfigdirs="$noconfigdirs sim target-rda"
     ;;
-  i[[3456789]]86-*-darwin*)
+  i[[3456789]]86-*-darwin* | i[[3456789]]86-*-ios*)
     noconfigdirs="$noconfigdirs ld gprof"
     noconfigdirs="$noconfigdirs sim target-rda"
     ;;
-  x86_64-*-darwin[[912]]*)
+  x86_64-*-darwin[[912]]* | x86_64-*-ios[[912]]*)
     noconfigdirs="$noconfigdirs ld gas gprof"
     noconfigdirs="$noconfigdirs sim target-rda"
     ;;
-  *-*-darwin*)
+  *-*-darwin* | *-*-ios*)
     noconfigdirs="$noconfigdirs ld gas gdb gprof"
     noconfigdirs="$noconfigdirs sim target-rda"
     ;;
@@ -1226,7 +1226,7 @@ case "${host}" in
   hppa*-*)	
     host_makefile_frag="config/mh-pa"
     ;;
-  *-*-darwin*)
+  *-*-darwin* | *-*-ios*)
     host_makefile_frag="config/mh-darwin"
     ;;
   powerpc-*-aix*)
@@ -1697,7 +1697,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
   build_lto_plugin=yes
 ],[if test x"$default_enable_lto" = x"yes" ; then
     case $target in
-      *-apple-darwin[[912]]* | *-cygwin* | *-mingw* | *djgpp*) ;;
+      *-apple-darwin[[912]]* | *-apple-ios[[912]]* | *-cygwin* | *-mingw* | *djgpp*) ;;
       # On other non-ELF platforms, LTO has yet to be validated.
       *) enable_lto=no ;;
     esac
@@ -1708,7 +1708,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
   # warn during gcc/ subconfigure; unless you're bootstrapping with
   # -flto it won't be needed until after installation anyway.
     case $target in
-      *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
+      *-cygwin* | *-mingw* | *-apple-darwin* | *-apple-ios* | *djgpp*) ;;
       *) if test x"$enable_lto" = x"yes"; then
 	AC_MSG_ERROR([LTO support is not enabled for this target.])
         fi
@@ -2590,7 +2590,7 @@ rm -f conftest*
 # Decide which environment variable is used to find dynamic libraries.
 case "${host}" in
   *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
-  *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
+  *-*-darwin* | *-*-ios* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
   *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
   *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
 esac
