From 262669e6c68e28322c1ab2b9323977548d46c09a Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 1 May 2013 07:17:53 +0000 Subject: extmk.rb: always dynamic non-install extensions * ext/extmk.rb (extmake): extensions not to be installed should not make static libraries, but make dynamic libraries always. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/extmk.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'ext/extmk.rb') diff --git a/ext/extmk.rb b/ext/extmk.rb index 1a318b38a1..871996e3fe 100755 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -144,6 +144,8 @@ def extmake(target) $srcs = [] $compiled[target] = false makefile = "./Makefile" + static = $static + $static = nil if noinstall = File.fnmatch?("-*", target) ok = File.exist?(makefile) unless $ignore rbconfig0 = RbConfig::CONFIG @@ -216,7 +218,14 @@ def extmake(target) end ok &&= File.open(makefile){|f| !f.gets[DUMMY_SIGNATURE]} ok = yield(ok) if block_given? - unless ok + if ok + open(makefile, "r+") do |f| + s = f.read.sub!(/^(static:)\s.*/, '\1 all') + f.rewind + f.print(s) + f.truncate(f.pos) + end + else open(makefile, "w") do |f| f.puts "# " + DUMMY_SIGNATURE f.print(*dummy_makefile(CONFIG["srcdir"])) @@ -236,7 +245,7 @@ def extmake(target) unless $destdir.to_s.empty? or $mflags.defined?("DESTDIR") args += [sysquote("DESTDIR=" + relative_from($destdir, "../"+prefix))] end - if $static and ok and !$objs.empty? and !File.fnmatch?("-*", target) + if $static and ok and !$objs.empty? and !noinstall args += ["static"] unless $clean $extlist.push [$static, target, $target, $preload] end @@ -279,6 +288,7 @@ def extmake(target) $top_srcdir = top_srcdir $topdir = topdir $hdrdir = hdrdir + $static = static Dir.chdir dir end begin -- cgit v1.2.3