diff --git a/ChangeLog b/ChangeLog index e89f9fcabd..25d0d57e2a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Dec 7 23:47:37 2008 Nobuyoshi Nakada + + * configure.in (LIBPATHFLAG): use numbered specifier if RPATHFLAG + is set. [ruby-talk:322136] + Sun Dec 7 23:17:33 2008 Nobuyoshi Nakada * Makefile.in (LIBRUBY_SO): localizes non-public symbols. diff --git a/configure.in b/configure.in index e1fcdb3055..028ae413a0 100644 --- a/configure.in +++ b/configure.in @@ -1293,7 +1293,6 @@ AC_SUBST(DLEXT2)dnl AC_SUBST(LIBEXT)dnl STATIC= -: ${LIBPATHFLAG=' -L%s'} : ${PATHFLAG=''} if test "$with_dln_a_out" != yes; then @@ -1323,7 +1322,6 @@ if test "$with_dln_a_out" != yes; then [ --disable-rpath embed run path into extension libraries.], [enable_rpath=$enableval], [enable_rpath="$rb_cv_binary_elf"]) if test "$enable_rpath" = yes; then - LIBPATHFLAG=" -L%1\$-s" RPATHFLAG=" ${linker_flag}-R%1\$-s" fi @@ -1449,6 +1447,12 @@ if test "$with_dln_a_out" != yes; then rb_cv_dlopen=yes;; cygwin*|mingw*) : ${LDSHARED="${CC} -shared "'$(if $(filter-out -g -g0,$(debugflags)),,-s)'} XLDFLAGS="$XLDFLAGS -Wl,--stack,0x00200000,--enable-auto-import" +case ${RPATHFLAG} in +*'%1$'*) + : ${LIBPATHFLAG=' -L%1$-s'};; +*) + : ${LIBPATHFLAG=' -L%s'};; +esac DLDFLAGS="${DLDFLAGS} -Wl,--enable-auto-image-base,--enable-auto-import,--export-all" : ${LIBPATHENV=""} rb_cv_dlopen=yes ;;