From
  https://github.com/chef/omnibus-software/blob/master/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch
, this change will be included in the next libffi release.

--- libffi-3.2.1-orig/configure.ac	2014-11-12 05:56:51.000000000 -0600
+++ libffi-3.2.1/configure.ac	2015-10-29 15:53:41.695055040 -0500
@@ -590,6 +590,10 @@
     AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
   fi)
 
+AC_ARG_ENABLE(multi-os-directory,
+[  --disable-multi-os-directory
+                          disable use of gcc --print-multi-os-directory to change the library installation directory])
+                          
 # These variables are only ever used when we cross-build to X86_WIN32.
 # And we only support this with GCC, so...
 if test "x$GCC" = "xyes"; then
@@ -601,11 +605,13 @@
     toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
     toolexeclibdir="${libdir}"
   fi
-  multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
+  if test x"$enable_multi_os_directory" != x"no"; then
+    multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
+    case $multi_os_directory in
+      .) ;; # Avoid trailing /.
+      ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
+    esac
+  fi
   AC_SUBST(toolexecdir)
 else
   toolexeclibdir="${libdir}"
--- libffi-3.2.1-orig/configure	2014-11-12 11:59:57.000000000 +0000
+++ libffi-3.2.1/configure	2015-10-30 19:50:51.082221000 +0000
@@ -886,6 +886,7 @@
 enable_structs
 enable_raw_api
 enable_purify_safety
+enable_multi_os_directory
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1538,6 +1539,8 @@
   --disable-structs       omit code for struct support
   --disable-raw-api       make the raw api unavailable
   --enable-purify-safety  purify-safe mode
+  --disable-multi-os-directory
+                          disable use of gcc --print-multi-os-directory to change the library installation directory
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -18714,6 +18717,12 @@
 fi
 
 
+# Check whether --enable-multi-os-directory was given.
+if test "${enable_multi_os_directory+set}" = set; then :
+  enableval=$enable_multi_os_directory;
+fi
+
+
 # These variables are only ever used when we cross-build to X86_WIN32.
 # And we only support this with GCC, so...
 if test "x$GCC" = "xyes"; then
@@ -18725,11 +18734,13 @@
     toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
     toolexeclibdir="${libdir}"
   fi
-  multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
-  case $multi_os_directory in
-    .) ;; # Avoid trailing /.
-    ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
-  esac
+  if test x"$enable_multi_os_directory" != x"no"; then
+    multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
+    case $multi_os_directory in
+      .) ;; # Avoid trailing /.
+      ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
+    esac
+  fi
 
 else
   toolexeclibdir="${libdir}"