From: nobu@... Date: 2007-04-17T04:17:59+09:00 Subject: Re: [ ruby-Bugs-10140 ] Cannot build with extra library path if previous version already installed Hi, At Tue, 17 Apr 2007 00:32:51 +0900, Michal Suchanek wrote in [ruby-core:10933]: > I tried building with LDFLAGS=-L/sw/lib which is the standard > way to build a package with libraries outside of system > library locations. > > There is apparently already a libruby_static in there because > the build has failed on an undefined symbol which was defined > in ./libruby_static.a > > I modified the Makefile so that it puts XLDFLAGS before > LDFLAGS. That way I get -L. -L/sw/lib and the build > works. However, if XLDFLAGS contained some linker options > meant to override options in LDFLAGS it would not work this > way. Do you consider that -L. always should take precedence to other linker flags? Index: configure.in =================================================================== --- configure.in (revision 12175) +++ configure.in (working copy) @@ -150,4 +150,9 @@ fi AC_PROG_CC AC_PROG_GCC_TRADITIONAL +if test "$GCC" = yes; then + linker_flag=-Wl, +else + linker_flag= +fi RUBY_PROG_GNU_LD @@ -1392,12 +1397,8 @@ if test "$enable_shared" = 'yes'; then fi if test "$enable_rpath" = yes; then - if test "$GCC" = yes; then - LIBRUBYARG_SHARED='-Wl,-R -Wl,$(libdir) -L$(libdir) -L. '"$LIBRUBYARG_SHARED" - else - LIBRUBYARG_SHARED='-R $(libdir) -L$(libdir) -L. '"$LIBRUBYARG_SHARED" - fi + LIBRUBYARG_SHARED="${linker_flag}-R ${linker_flag}\$(libdir) -L. -L\$(libdir) $LIBRUBYARG_SHARED" fi -XLDFLAGS="$XLDFLAGS -L." +LDFLAGS="-L. $LDFLAGS" AC_SUBST(ARCHFILE) -- Nobu Nakada