diff options
author | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-09-05 23:50:45 +0900 |
---|---|---|
committer | 卜部昌平 <shyouhei@ruby-lang.org> | 2019-09-06 15:50:58 +0900 |
commit | a569bc09e25a2ba813d0bec1228d9ff65330a3db (patch) | |
tree | b8bb974a90c1d0685633c7ec6728b86b3dcaef99 /tool | |
parent | d6a94cffda6763c7ad3ac3830dcfe6a87e405fe4 (diff) | |
download | ruby-a569bc09e25a2ba813d0bec1228d9ff65330a3db.tar.gz |
add include/ruby/backward/cxxanyargs.hpp
Compilation of extension libraries written in C++ are reportedly
broken due to https://github.com/ruby/ruby/pull/2404
The root cause of this issue was that the definition of ANYARGS
differ between C and C++, and that of C++ is incompatible with the
updated ones.
We are using the incompatibility against itself. In C++ two distinct
function prototypes can be overloaded. We provide the old, ANYARGSed
prototypes in addition to the current granular ones; and let the
older ones warn about types.
Diffstat (limited to 'tool')
-rwxr-xr-x | tool/rbinstall.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index a316e07e79..0475901646 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb @@ -253,7 +253,7 @@ def install_recursive(srcdir, dest, options = {}) elsif stat.symlink? # skip else - files << [src, d, false] if File.fnmatch?(glob, f) and !skip[f] + files << [src, d, false] if File.fnmatch?(glob, f, File::FNM_EXTGLOB) and !skip[f] end end paths.insert(0, *files) @@ -576,7 +576,7 @@ install?(:local, :comm, :hdr, :'comm-hdr') do noinst << "win32.h" end noinst = nil if noinst.empty? - install_recursive(File.join(srcdir, "include"), rubyhdrdir, :no_install => noinst, :glob => "*.h", :mode => $data_mode) + install_recursive(File.join(srcdir, "include"), rubyhdrdir, :no_install => noinst, :glob => "*.{h,hpp}", :mode => $data_mode) end install?(:local, :comm, :man) do |