diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-05-01 07:17:53 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-05-01 07:17:53 +0000 |
commit | 262669e6c68e28322c1ab2b9323977548d46c09a (patch) | |
tree | 31b45fbd2a944ebd6f02cb1d16075d5a44f45432 | |
parent | 84c8319c8d14b6e75cc6af995118a7a26cb394ea (diff) | |
download | ruby-262669e6c68e28322c1ab2b9323977548d46c09a.tar.gz |
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
-rw-r--r-- | ChangeLog | 5 | ||||
-rwxr-xr-x | ext/extmk.rb | 14 |
2 files changed, 17 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Wed May 1 16:17:46 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * 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 <zachary@zacharyscott.net> * 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 |