From 692010a2350a0dd981ed8b31ccd7a5a76dd6468a Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 23 Apr 2007 13:08:29 +0000 Subject: * lib/mkmf.rb (libpathflag): not to append RPATHFLAG to current directory. * lib/mkmf.rb (init_mkmf): add current directory to default library path with highest priority. [ruby-core:10960] * lib/mkmf.rb (LINK_SO): LIBPATH to be placed before DLDFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/mkmf.rb | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'lib/mkmf.rb') diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 9526aed6dd..e243dce556 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -267,16 +267,16 @@ end def link_command(ldflags, opt="", libpath=$DEFLIBPATH|$LIBPATH) RbConfig::expand(TRY_LINK.dup, - CONFIG.merge('hdrdir' => $hdrdir.quote, - 'src' => CONFTEST_C, - 'INCFLAGS' => $INCFLAGS, - 'CPPFLAGS' => $CPPFLAGS, - 'CFLAGS' => "#$CFLAGS", - 'ARCH_FLAG' => "#$ARCH_FLAG", - 'LDFLAGS' => "#$LDFLAGS #{ldflags}", - 'LIBPATH' => libpathflag(libpath), - 'LOCAL_LIBS' => "#$LOCAL_LIBS #$libs", - 'LIBS' => "#$LIBRUBYARG_STATIC #{opt} #$LIBS")) + CONFIG.merge('hdrdir' => $hdrdir.quote, + 'src' => CONFTEST_C, + 'INCFLAGS' => $INCFLAGS, + 'CPPFLAGS' => $CPPFLAGS, + 'CFLAGS' => "#$CFLAGS", + 'ARCH_FLAG' => "#$ARCH_FLAG", + 'LDFLAGS' => "#$LDFLAGS #{ldflags}", + 'LIBPATH' => libpathflag(libpath), + 'LOCAL_LIBS' => "#$LOCAL_LIBS #$libs", + 'LIBS' => "#$LIBRUBYARG_STATIC #{opt} #$LIBS")) end def cc_command(opt="") @@ -291,7 +291,12 @@ end def libpathflag(libpath=$DEFLIBPATH|$LIBPATH) libpath.map{|x| - (x == "$(topdir)" ? LIBPATHFLAG : LIBPATHFLAG+RPATHFLAG) % x.quote + case x + when "$(topdir)", /\A\./ + LIBPATHFLAG + else + LIBPATHFLAG+RPATHFLAG + end % x.quote }.join end @@ -1443,6 +1448,7 @@ def init_mkmf(config = CONFIG) $LIBRUBYARG_STATIC = config['LIBRUBYARG_STATIC'] $LIBRUBYARG_SHARED = config['LIBRUBYARG_SHARED'] $DEFLIBPATH = $extmk ? ["$(topdir)"] : CROSS_COMPILING ? [] : ["$(libdir)"] + $DEFLIBPATH.unshift(".") $LIBPATH = [] $INSTALLFILES = nil @@ -1534,8 +1540,8 @@ LINK_SO = config_string('LINK_SO') || if CONFIG["DLEXT"] == $OBJEXT "ld $(DLDFLAGS) -r -o $@ $(OBJS)\n" else - "$(LDSHARED) $(DLDFLAGS) $(LIBPATH) #{OUTFLAG}$@ " \ - "$(OBJS) $(LOCAL_LIBS) $(LIBS)" + "$(LDSHARED) #{OUTFLAG}$@ $(OBJS) " \ + "$(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)" end LIBPATHFLAG = config_string('LIBPATHFLAG') || ' -L"%s"' RPATHFLAG = config_string('RPATHFLAG') || '' -- cgit v1.2.3