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