From f3727f59288e152d7b95c57d8b5390cf1cfeaf9d Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 16 Nov 2005 14:25:53 +0000 Subject: * common.mk (static-ruby): overridable. * ext/extmk.rb (parse_args): force to link extensions statically only if static is given for extstatic. * ext/extmk.rb (RUBY, RUBYW): overridable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 9 +++++++++ common.mk | 6 ++++-- ext/extmk.rb | 10 ++++++---- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0eeb399014..3aa5a9d16d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Wed Nov 16 23:24:17 2005 Nobuyoshi Nakada + + * common.mk (static-ruby): overridable. + + * ext/extmk.rb (parse_args): force to link extensions statically only + if static is given for extstatic. + + * ext/extmk.rb (RUBY, RUBYW): overridable. + Wed Nov 16 01:29:31 2005 Kouhei Sutou * lib/rss/trackback.rb: added TrackBack prefix. diff --git a/common.mk b/common.mk index fcfd52db73..1ea0f04c6a 100644 --- a/common.mk +++ b/common.mk @@ -4,6 +4,8 @@ dll: $(LIBRUBY_SO); RUBYOPT = +STATIC_RUBY = static-ruby + EXTCONF = extconf.rb RBCONFIG = ./.rbconfig.time @@ -77,9 +79,9 @@ $(LIBRUBY_A): $(OBJS) $(DMYEXT) $(LIBRUBY_SO): $(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(ARCHFILE) -static-ruby: $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) +$(STATIC_RUBY)$(EXEEXT): $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A) @$(RM) $@ - $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@ + $(PURIFY) $(CC) $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(XLDFLAGS) ruby.imp: $(LIBRUBY_A) @$(NM) -Pgp $(LIBRUBY_A) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@ diff --git a/ext/extmk.rb b/ext/extmk.rb index 1642012dbd..1b0222a1e6 100644 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -218,8 +218,7 @@ def parse_args() if ($extstatic = v) == false $extstatic = [] elsif v - $force_static = true - $extstatic.delete("static") + $force_static = true if $extstatic.delete("static") $extstatic = nil if $extstatic.empty? end end @@ -233,6 +232,7 @@ def parse_args() $make = v || 'make' end opts.on('--make-flags=FLAGS', '--mflags', Shellwords) do |v| + v.grep(/\A([-\w]+)=(.*)/) {$configure_args["--#{$1}"] = $2} if arg = v.first arg.insert(0, '-') if /\A[^-][^=]*\Z/ =~ arg end @@ -327,7 +327,7 @@ end for dir in ["ext", File::join($top_srcdir, "ext")] setup = File::join(dir, CONFIG['setup']) if File.file? setup - f = open(setup) + f = open(setup) while line = f.gets() line.chomp! line.sub!(/#.*$/, '') @@ -459,9 +459,11 @@ SRC $mflags.concat(conf) end rubies = [] -%w[RUBY RUBYW].each {|r| +%w[RUBY RUBYW STATIC_RUBY].each {|r| + n = r if r = arg_config("--"+r.downcase) || config_string(r+"_INSTALL_NAME") rubies << r+EXEEXT + $mflags << "#{n}=#{r}" end } -- cgit v1.2.3