[前][次][番号順一覧][スレッド一覧]

ruby-changes:37654

From: usa <ko1@a...>
Date: Wed, 25 Feb 2015 14:26:44 +0900 (JST)
Subject: [ruby-changes:37654] usa:r49735 (ruby_2_0_0): merge revision(s) 49482, 49487: [Backport #10821]

usa	2015-02-25 14:26:38 +0900 (Wed, 25 Feb 2015)

  New Revision: 49735

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=49735

  Log:
    merge revision(s) 49482,49487: [Backport #10821]
    
    * lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of
      interference by modifying global variables in have_devel? method.
      [ruby-core:67962] [Bug #10821]

  Modified directories:
    branches/ruby_2_0_0/
  Modified files:
    branches/ruby_2_0_0/ChangeLog
    branches/ruby_2_0_0/lib/mkmf.rb
    branches/ruby_2_0_0/test/mkmf/base.rb
    branches/ruby_2_0_0/test/mkmf/test_flags.rb
    branches/ruby_2_0_0/version.h
Index: ruby_2_0_0/ChangeLog
===================================================================
--- ruby_2_0_0/ChangeLog	(revision 49734)
+++ ruby_2_0_0/ChangeLog	(revision 49735)
@@ -1,3 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/ChangeLog#L1
+Wed Feb 25 14:22:57 2015  Nobuyoshi Nakada  <nobu@r...>
+
+	* lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of
+	  interference by modifying global variables in have_devel? method.
+	  [ruby-core:67962] [Bug #10821]
+
 Wed Feb 25 14:19:35 2015  SHIBATA Hiroshi  <shibata.hiroshi@g...>
 
 	* thread.c: Improve documentation for Thread#value
Index: ruby_2_0_0/lib/mkmf.rb
===================================================================
--- ruby_2_0_0/lib/mkmf.rb	(revision 49734)
+++ ruby_2_0_0/lib/mkmf.rb	(revision 49735)
@@ -588,9 +588,7 @@ MSG https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/mkmf.rb#L588
   end
 
   def try_cppflags(flags)
-    with_cppflags(flags) do
-      try_header("int main() {return 0;}")
-    end
+    try_header(MAIN_DOES_NOTHING, flags)
   end
 
   def with_cflags(flags)
@@ -602,9 +600,7 @@ MSG https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/mkmf.rb#L600
   end
 
   def try_cflags(flags)
-    with_cflags(flags) do
-      try_compile("int main() {return 0;}")
-    end
+    try_compile(MAIN_DOES_NOTHING, flags)
   end
 
   def with_ldflags(flags)
@@ -616,9 +612,7 @@ MSG https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/mkmf.rb#L612
   end
 
   def try_ldflags(flags)
-    with_ldflags(flags) do
-      try_link("int main() {return 0;}")
-    end
+    try_link(MAIN_DOES_NOTHING, flags)
   end
 
   def try_static_assert(expr, headers = nil, opt = "", &b)
Index: ruby_2_0_0/version.h
===================================================================
--- ruby_2_0_0/version.h	(revision 49734)
+++ ruby_2_0_0/version.h	(revision 49735)
@@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/version.h#L1
 #define RUBY_VERSION "2.0.0"
 #define RUBY_RELEASE_DATE "2015-02-25"
-#define RUBY_PATCHLEVEL 637
+#define RUBY_PATCHLEVEL 638
 
 #define RUBY_RELEASE_YEAR 2015
 #define RUBY_RELEASE_MONTH 2
Index: ruby_2_0_0/test/mkmf/base.rb
===================================================================
--- ruby_2_0_0/test/mkmf/base.rb	(revision 49734)
+++ ruby_2_0_0/test/mkmf/base.rb	(revision 49735)
@@ -1,6 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/mkmf/base.rb#L1
 require 'test/unit'
 require 'mkmf'
 require 'tmpdir'
+require_relative '../ruby/envutil'
 
 $extout = '$(topdir)/'+RbConfig::CONFIG["EXTOUT"]
 RbConfig::CONFIG['topdir'] = CONFIG['topdir'] = File.expand_path(CONFIG['topdir'])
@@ -50,7 +51,9 @@ class TestMkmf < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/mkmf/base.rb#L51
       @buffer << s if @out
     end
   end
+end
 
+module TestMkmf::Base
   attr_reader :stdout
 
   def mkmflog(msg)
@@ -89,7 +92,7 @@ class TestMkmf < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/mkmf/base.rb#L92
     @tmpdir = Dir.mktmpdir
     @curdir = Dir.pwd
     @mkmfobj = Object.new
-    @stdout = Capture.new
+    @stdout = TestMkmf::Capture.new
     Dir.chdir(@tmpdir)
     @quiet, Logging.quiet = Logging.quiet, true
     init_mkmf
@@ -132,3 +135,11 @@ class TestMkmf < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/mkmf/base.rb#L135
     nil
   end
 end
+
+class TestMkmf
+  include TestMkmf::Base
+
+  def assert_separately(args, src, *rest)
+    super(args + ["-r#{__FILE__}"], "extend TestMkmf::Base; setup\n#{src}", *rest)
+  end
+end
Index: ruby_2_0_0/test/mkmf/test_flags.rb
===================================================================
--- ruby_2_0_0/test/mkmf/test_flags.rb	(revision 49734)
+++ ruby_2_0_0/test/mkmf/test_flags.rb	(revision 49735)
@@ -31,5 +31,26 @@ class TestMkmf https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/mkmf/test_flags.rb#L31
       $warnflags = warnflags
       $extmk = val
     end
+
+    def test_try_ldflag_invalid_opt
+      assert_separately([], <<-'end;') #do
+        assert(!try_ldflags("nosuch.c"), TestMkmf::MKMFLOG)
+        assert(have_devel?, TestMkmf::MKMFLOG)
+      end;
+    end
+
+    def test_try_cflag_invalid_opt
+      assert_separately([], <<-'end;') #do
+        assert(!try_cflags("nosuch.c"), TestMkmf::MKMFLOG)
+        assert(have_devel?, TestMkmf::MKMFLOG)
+      end;
+    end
+
+    def test_try_cppflag_invalid_opt
+      assert_separately([], <<-'end;') #do
+        assert(!try_cppflags("nosuch.c"), TestMkmf::MKMFLOG)
+        assert(have_devel?, TestMkmf::MKMFLOG)
+      end;
+    end
   end
 end

Property changes on: ruby_2_0_0
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /trunk:r49482,49487


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]