Add configure flag to disable multi-os-directory support

In some environments, installing the library to GCC's
multi-os-directory is not perferable. This patch adds a switch
to configure "--disable-multi-os-directory" which will disable
that check, typically falling back to ${libdir} unless
cross-compiling.

Original patch was written by Stewart Brodie, and was found at
https://sourceware.org/ml/libffi-discuss/2013/msg00144.html

I've just updated it to work with the current version.
This commit is contained in:
Carl Perry
2015-10-29 22:50:42 -05:00
parent e9de7e35f2
commit 877ea9bf9a

View File

@@ -337,6 +337,10 @@ AC_ARG_ENABLE(purify-safety,
AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.]) AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want to suppress spurious messages.])
fi) 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. # These variables are only ever used when we cross-build to X86_WIN32.
# And we only support this with GCC, so... # And we only support this with GCC, so...
if test "x$GCC" = "xyes"; then if test "x$GCC" = "xyes"; then
@@ -348,11 +352,13 @@ if test "x$GCC" = "xyes"; then
toolexecdir="${libdir}"/gcc-lib/'$(target_alias)' toolexecdir="${libdir}"/gcc-lib/'$(target_alias)'
toolexeclibdir="${libdir}" toolexeclibdir="${libdir}"
fi fi
multi_os_directory=`$CC $CFLAGS -print-multi-os-directory` if test x"$enable_multi_os_directory" != x"no"; then
case $multi_os_directory in multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
.) ;; # Avoid trailing /. case $multi_os_directory in
../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; .) ;; # Avoid trailing /.
esac ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
esac
fi
AC_SUBST(toolexecdir) AC_SUBST(toolexecdir)
else else
toolexeclibdir="${libdir}" toolexeclibdir="${libdir}"