+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}"