mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
Autodetect the availability of -export-dynamic in the linker.
llvm-svn: 66156
This commit is contained in:
parent
744e33c12b
commit
ff20b634bf
@ -203,6 +203,9 @@ OBJ_ROOT := .
|
|||||||
# What to pass as rpath flag to g++
|
# What to pass as rpath flag to g++
|
||||||
RPATH := @RPATH@
|
RPATH := @RPATH@
|
||||||
|
|
||||||
|
# What to pass as -rdynamic flag to g++
|
||||||
|
RDYNAMIC := @RDYNAMIC@
|
||||||
|
|
||||||
# These are options that can either be enabled here, or can be enabled on the
|
# These are options that can either be enabled here, or can be enabled on the
|
||||||
# make command line (ie, make ENABLE_PROFILING=1):
|
# make command line (ie, make ENABLE_PROFILING=1):
|
||||||
|
|
||||||
|
@ -636,9 +636,12 @@ AC_PATH_PROGS(OCAMLDEP, [ocamldep])
|
|||||||
AC_PATH_PROGS(OCAMLDOC, [ocamldoc])
|
AC_PATH_PROGS(OCAMLDOC, [ocamldoc])
|
||||||
AC_PATH_PROGS(GAS, [gas as])
|
AC_PATH_PROGS(GAS, [gas as])
|
||||||
|
|
||||||
dnl Determine if the linker supports the -R option.
|
dnl Determine whether the linker supports the -R option.
|
||||||
AC_LINK_USE_R
|
AC_LINK_USE_R
|
||||||
|
|
||||||
|
dnl Determine whether the linker supports the -export-dynamic option.
|
||||||
|
AC_LINK_EXPORT_DYNAMIC
|
||||||
|
|
||||||
dnl Check for libtool and the library that has dlopen function (which must come
|
dnl Check for libtool and the library that has dlopen function (which must come
|
||||||
dnl before the AC_PROG_LIBTOOL check in order to enable dlopening libraries with
|
dnl before the AC_PROG_LIBTOOL check in order to enable dlopening libraries with
|
||||||
dnl libtool).
|
dnl libtool).
|
||||||
@ -1013,16 +1016,25 @@ if test "$binding_prereqs_failed" = 1 ; then
|
|||||||
AC_MSG_ERROR([Prequisites for bindings not satisfied. Fix them or use configure --disable-bindings.])
|
AC_MSG_ERROR([Prequisites for bindings not satisfied. Fix them or use configure --disable-bindings.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl Determine if the compiler supports -fvisibility-inlines-hidden.
|
dnl Determine whether the compiler supports -fvisibility-inlines-hidden.
|
||||||
AC_CXX_USE_VISIBILITY_INLINES_HIDDEN
|
AC_CXX_USE_VISIBILITY_INLINES_HIDDEN
|
||||||
|
|
||||||
dnl Determine linker rpath flag
|
dnl Determine linker rpath flag
|
||||||
case $llvm_cv_os_type in
|
if test "$llvm_cv_link_use_r" = "yes" ; then
|
||||||
SunOS) RPATH="-Wl,-R" ;;
|
RPATH="-Wl,-R"
|
||||||
*) RPATH="-Wl,-rpath" ;;
|
else
|
||||||
esac
|
RPATH="-Wl,-rpath"
|
||||||
|
fi
|
||||||
AC_SUBST(RPATH)
|
AC_SUBST(RPATH)
|
||||||
|
|
||||||
|
dnl Determine linker rdynamic flag
|
||||||
|
if test "$llvm_cv_link_use_export_dynamic" = "yes" ; then
|
||||||
|
RDYNAMIC="-Wl,-export-dynamic"
|
||||||
|
else
|
||||||
|
RDYNAMIC=""
|
||||||
|
fi
|
||||||
|
AC_SUBST(RDYNAMIC)
|
||||||
|
|
||||||
dnl===-----------------------------------------------------------------------===
|
dnl===-----------------------------------------------------------------------===
|
||||||
dnl===
|
dnl===
|
||||||
dnl=== SECTION 10: Specify the output files and generate it
|
dnl=== SECTION 10: Specify the output files and generate it
|
||||||
|
41
autoconf/m4/link_options.m4
Normal file
41
autoconf/m4/link_options.m4
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
#
|
||||||
|
# Determine if the system can handle the -R option being passed to the linker.
|
||||||
|
#
|
||||||
|
# This macro is specific to LLVM.
|
||||||
|
#
|
||||||
|
AC_DEFUN([AC_LINK_USE_R],
|
||||||
|
[AC_CACHE_CHECK([for compiler -Wl,-R<path> option],[llvm_cv_link_use_r],
|
||||||
|
[ AC_LANG_PUSH([C])
|
||||||
|
oldcflags="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -Wl,-R."
|
||||||
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[int main() { return 0; }]])],
|
||||||
|
[llvm_cv_link_use_r=yes],[llvm_cv_link_use_r=no])
|
||||||
|
CFLAGS="$oldcflags"
|
||||||
|
AC_LANG_POP([C])
|
||||||
|
])
|
||||||
|
if test "$llvm_cv_link_use_r" = yes ; then
|
||||||
|
AC_DEFINE([HAVE_LINK_R],[1],[Define if you can use -Wl,-R. to pass -R. to the linker, in order to add the current directory to the dynamic linker search path.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
#
|
||||||
|
# Determine if the system can handle the -R option being passed to the linker.
|
||||||
|
#
|
||||||
|
# This macro is specific to LLVM.
|
||||||
|
#
|
||||||
|
AC_DEFUN([AC_LINK_EXPORT_DYNAMIC],
|
||||||
|
[AC_CACHE_CHECK([for compiler -Wl,-export-dynamic option],
|
||||||
|
[llvm_cv_link_use_export_dynamic],
|
||||||
|
[ AC_LANG_PUSH([C])
|
||||||
|
oldcflags="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -Wl,-export-dynamic"
|
||||||
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[int main() { return 0; }]])],
|
||||||
|
[llvm_cv_link_use_export_dynamic=yes],[llvm_cv_link_use_export_dynamic=no])
|
||||||
|
CFLAGS="$oldcflags"
|
||||||
|
AC_LANG_POP([C])
|
||||||
|
])
|
||||||
|
if test "$llvm_cv_link_use_export_dynamic" = yes ; then
|
||||||
|
AC_DEFINE([HAVE_LINK_EXPORT_DYNAMIC],[1],[Define if you can use -Wl,-export-dynamic.])
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
@ -1,19 +0,0 @@
|
|||||||
#
|
|
||||||
# Determine if the system can handle the -R option being passed to the linker.
|
|
||||||
#
|
|
||||||
# This macro is specific to LLVM.
|
|
||||||
#
|
|
||||||
AC_DEFUN([AC_LINK_USE_R],
|
|
||||||
[AC_CACHE_CHECK([for compiler -Wl,-R<path> option],[llvm_cv_link_use_r],
|
|
||||||
[ AC_LANG_PUSH([C])
|
|
||||||
oldcflags="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS -Wl,-R."
|
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[int main() { return 0; }]])],
|
|
||||||
[llvm_cv_link_use_r=yes],[llvm_cv_link_use_r=no])
|
|
||||||
CFLAGS="$oldcflags"
|
|
||||||
AC_LANG_POP([C])
|
|
||||||
])
|
|
||||||
if test "$llvm_cv_link_use_r" = yes ; then
|
|
||||||
AC_DEFINE([HAVE_LINK_R],[1],[Define if you can use -Wl,-R. to pass -R. to the linker, in order to add the current directory to the dynamic linker search path.])
|
|
||||||
fi
|
|
||||||
])
|
|
Loading…
x
Reference in New Issue
Block a user