diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-09-18 23:31:53 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-09-19 00:03:18 +0900 |
commit | 842f600a93deca71e908ef5bb16e4e6aed519890 (patch) | |
tree | 92cbb30c383f34f7f08b1d960de6b20ae5218fd7 | |
parent | 15d5de59fb089eb47ca18dd4a7296fa2e7e73709 (diff) | |
download | ruby-842f600a93deca71e908ef5bb16e4e6aed519890.tar.gz |
Look up the language module
Look up language module with `MakeMakefile.[]`, insted of a
accessing constant under that module directly, to get rid of
expose the constant to the toplevel inadvertently.
-rw-r--r-- | ext/-test-/cxxanyargs/extconf.rb | 2 | ||||
-rw-r--r-- | lib/mkmf.rb | 12 |
2 files changed, 12 insertions, 2 deletions
diff --git a/ext/-test-/cxxanyargs/extconf.rb b/ext/-test-/cxxanyargs/extconf.rb index c1823a4042..7e2449a457 100644 --- a/ext/-test-/cxxanyargs/extconf.rb +++ b/ext/-test-/cxxanyargs/extconf.rb @@ -1,6 +1,6 @@ # frozen_string_literal: false -cxx = MakeMakefile::CXX +cxx = MakeMakefile["C++"] ok = cxx.try_compile(<<~'begin', "") do |x| #include "ruby/config.h" diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 8df6e9ad59..ce72668501 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -2776,7 +2776,17 @@ distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb realclean: distclean " - module CXX + @lang = Hash.new(self) + + def self.[](name) + @lang.fetch(name) + end + + def self.[]=(name, mod) + @lang[name] = mod + end + + self["C++"] = Module.new do include MakeMakefile extend self |