diff options
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r-- | gcc/configure.ac | 58 |
1 files changed, 39 insertions, 19 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac index e39ab87..e02dac9 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -4639,32 +4639,52 @@ enable_plugin=$enableval, enable_plugin=yes; default_plugin=yes) pluginlibs= -if test x"$enable_plugin" = x"yes"; then - case "${host}" in - *-*-darwin*) +case "${host}" in + *-*-darwin*) + if test x$build = x$host; then + export_sym_check="nm${exeext} -g" + elif x$host = x$target; then export_sym_check="$gcc_cv_nm -g" - ;; - *) + else + export_sym_check= + fi + ;; + *) + if test x$build = x$host; then + export_sym_check="objdump${exeext} -T" + elif x$host = x$target; then export_sym_check="$gcc_cv_objdump -T" - ;; - esac + else + export_sym_check= + fi + ;; +esac + +if test x"$enable_plugin" = x"yes"; then + AC_MSG_CHECKING([for exported symbols]) - echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c - ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest > /dev/null 2>&1 - if $export_sym_check conftest | grep foobar > /dev/null; then - : # No need to use a flag - else - AC_MSG_CHECKING([for -rdynamic]) - ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1 + if test "x$export_sym_check" != x; then + echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c + ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest > /dev/null 2>&1 if $export_sym_check conftest | grep foobar > /dev/null; then - plugin_rdynamic=yes - pluginlibs="-rdynamic" + : # No need to use a flag + AC_MSG_RESULT([yes]) else - plugin_rdynamic=no - enable_plugin=no + AC_MSG_RESULT([yes]) + AC_MSG_CHECKING([for -rdynamic]) + ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1 + if $export_sym_check conftest | grep foobar > /dev/null; then + plugin_rdynamic=yes + pluginlibs="-rdynamic" + else + plugin_rdynamic=no + enable_plugin=no + fi + AC_MSG_RESULT([$plugin_rdynamic]) fi - AC_MSG_RESULT([$plugin_rdynamic]) + else + AC_MSG_RESULT([unable to check]) fi # Check -ldl |