diff --git a/ChangeLog b/ChangeLog index b5bb7fa406..2b841f0a02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed May 1 16:17:46 2013 Nobuyoshi Nakada + + * ext/extmk.rb (extmake): extensions not to be installed should not + make static libraries, but make dynamic libraries always. + Wed May 1 12:20:00 2013 Zachary Scott * lib/rake/version.rb: Fix RDoc warning with :include: [Bug #8347] 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