From 1eaddcaffaf984a2934b1497013921fca3e1e7bc Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 15 Mar 2014 02:03:25 +0000 Subject: configure.in: check symbol resolution options * configure.in (DLDFLAGS): check for each options to control symbol resolution. [ruby-core:61429] [Bug #9624] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ configure.in | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 50bd6f3b2c..d22b9eef26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Mar 15 11:02:58 2014 Nobuyoshi Nakada + + * configure.in (DLDFLAGS): check for each options to control + symbol resolution. [ruby-core:61429] [Bug #9624] + Sat Mar 15 07:02:35 2014 Eric Wong * st.c (st_update): remove unnecessary assignment diff --git a/configure.in b/configure.in index 71377a6ddb..d949498dd9 100644 --- a/configure.in +++ b/configure.in @@ -2702,10 +2702,6 @@ if test "$with_dln_a_out" != yes; then fi rb_cv_dlopen=yes], [darwin*], [ : ${LDSHARED='$(CC) -dynamic -bundle'} - RUBY_APPEND_OPTIONS(DLDFLAGS, [ \ - "${linker_flag}-undefined${linker_flag:+,}dynamic_lookup" \ - "${linker_flag}-multiply_defined${linker_flag:+,}suppress" \ - ]) : ${LDFLAGS=""} : ${LIBPATHENV=DYLD_LIBRARY_PATH} # /usr/local/include is always searched for @@ -2772,6 +2768,21 @@ if test "$with_dln_a_out" != yes; then [ : ${LDSHARED='$(LD)'}]) AC_MSG_RESULT($rb_cv_dlopen) + if test "$rb_cv_dlopen" = yes; then + AS_CASE(["$target_os"], + [darwin*] [ + for flag in \ + "${linker_flag}-undefined${linker_flag:+,}dynamic_lookup" \ + "${linker_flag}-multiply_defined${linker_flag:+,}suppress" \ + ; do + RUBY_TRY_LDFLAGS([$flag], [], [flag=]) + if test "x$flag" != x; then + RUBY_APPEND_OPTIONS(DLDFLAGS, [$flag]) + fi + done + ]) + fi + if test "$enable_rpath" = yes; then if test x"${RPATHFLAG}" = x; then for rpathflag in -R "-rpath "; do -- cgit v1.2.3