summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-21merge revision(s) 019cbded90ade76fdb87d02bd4d444724429fc92:nagachika
mkmf: Add a configure option to set verbose mode (V=1 or 0) in mkmf.rb. Note this change is only for `configure.ac`, not for Windows using `win32/configure.bat`. ``` $ ./configure --help | grep mkmf --enable-mkmf-verbose enable verbose in mkmf ``` Run the following command to enable the mkmf verbose mode. ``` $ ./configure --enable-mkmf-verbose $ grep MKMF_VERBOSE config.status S["MKMF_VERBOSE"]="1" ``` In this mkmf verbose mode, when compiling a native extension, the `rake compile` prints the compiling commands such as "gcc -I. <...> path/to/file" instead of "compiling path/to/file". ``` $ git clone https://github.com/deivid-rodriguez/byebug.git $ cd byebug $ bundle install --standalone $ bundle exec rake compile ... gcc -I. <...> path/to/file ... ``` --- configure.ac | 7 +++++++ lib/mkmf.rb | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-)
2022-10-21merge revision(s) bdb7345ce96c641796909abc2dbdac0d4400ca41:nagachika
Use compiled instead of complied Capitalize creates --- lib/mkmf.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
2022-10-21merge revision(s) 6946263a2994257c6240e52a365700dc573c7ed4:nagachika
[DOC] make internally used classes/methods nodoc Empty class documents are generated even with `:stopdoc:`. --- lib/mkmf.rb | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-)
2022-10-21merge revision(s) 7672f6a42390a1a421fb0633e6810a92df7dad7a:nagachika
mkmf: unify duplicate code in pkg_config --- lib/mkmf.rb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
2022-10-21merge revision(s) ab3cb29bd9bff9c16cfb9d19cc02026998282c12:nagachika
Avoid defining the same test class in multiple files Should fix issues with parallel testing sometimes not running all tests. This should be viewed skipping whitespace changes. Fixes [Bug #18731] --- test/-ext-/bignum/test_big2str.rb | 38 +- test/-ext-/bignum/test_bigzero.rb | 20 +- test/-ext-/bignum/test_div.rb | 38 +- test/-ext-/bignum/test_mul.rb | 260 ++++++------ test/-ext-/bignum/test_pack.rb | 653 +++++++++++++++---------------- test/-ext-/bignum/test_str2big.rb | 52 ++- test/-ext-/funcall/test_funcall.rb | 11 - test/-ext-/funcall/test_passing_block.rb | 5 + test/date/test_date_ractor.rb | 2 +- test/fileutils/clobber.rb | 5 +- test/fileutils/test_dryrun.rb | 2 +- test/fileutils/test_nowrite.rb | 2 +- test/fileutils/test_verbose.rb | 2 +- test/fileutils/visibility_tests.rb | 5 +- test/mkmf/base.rb | 225 ++++++----- test/mkmf/test_config.rb | 16 +- test/mkmf/test_constant.rb | 56 ++- test/mkmf/test_convertible.rb | 48 ++- test/mkmf/test_egrep_cpp.rb | 14 +- test/mkmf/test_find_executable.rb | 82 ++-- test/mkmf/test_flags.rb | 92 +++-- test/mkmf/test_framework.rb | 70 ++-- test/mkmf/test_have_func.rb | 18 +- test/mkmf/test_have_library.rb | 84 ++-- test/mkmf/test_have_macro.rb | 46 ++- test/mkmf/test_install.rb | 38 +- test/mkmf/test_libs.rb | 156 ++++---- test/mkmf/test_mkmf.rb | 14 +- test/mkmf/test_pkg_config.rb | 98 +++-- test/mkmf/test_signedness.rb | 38 +- test/mkmf/test_sizeof.rb | 74 ++-- test/optparse/test_acceptable.rb | 2 +- test/optparse/test_autoconf.rb | 4 +- test/optparse/test_bash_completion.rb | 4 +- test/optparse/test_cclass.rb | 2 +- test/optparse/test_did_you_mean.rb | 2 +- test/optparse/test_getopts.rb | 4 +- test/optparse/test_kwargs.rb | 4 +- test/optparse/test_noarg.rb | 6 +- test/optparse/test_optarg.rb | 2 +- test/optparse/test_placearg.rb | 2 +- test/optparse/test_reqarg.rb | 10 +- test/optparse/test_summary.rb | 2 +- test/optparse/test_zsh_completion.rb | 4 +- test/ruby/enc/test_emoji_breaks.rb | 207 +++++----- test/ruby/enc/test_grapheme_breaks.rb | 115 +++--- test/ruby/test_inlinecache.rb | 2 +- 47 files changed, 1280 insertions(+), 1356 deletions(-) delete mode 100644 test/-ext-/funcall/test_funcall.rb
2022-10-21merge revision(s) acbc2bdd3030bef997919ce56c5b120cc5e91e8f:nagachika
Update the test for [Feature #18615] --- test/mkmf/test_flags.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-21merge revision(s) 329c89bb42bb44467588afc1d41d9f99172dfeb5:nagachika
Make implicit function declaration error [Feature #18615] Enable `-Werror=implicit-function-declaration` by default for building C extensions for early failures. --- lib/mkmf.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-21merge revision(s) b90e56e6243f4e6567991bfd2375e1f58b1414a0:nagachika
mkmf: pkg_config accepts multiple options --- lib/mkmf.rb | 48 +++++++++++++++++++++++--------------------- test/mkmf/test_pkg_config.rb | 7 +++++++ 2 files changed, 32 insertions(+), 23 deletions(-)
2022-10-21merge revision(s) 24c7e75ded461446e7c8e83bbceecccf7bcb4d0e:nagachika
test: backfill coverage for MakeMakefile.pkg_config --- test/mkmf/test_pkg_config.rb | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 test/mkmf/test_pkg_config.rb
2022-10-21merge revision(s) 2304cfa4c08a347f4df4915f88fb062cb12e4eeb:nagachika
Document MakeMakefile#append_cflags This method is at least 7 years old and is widely used in the wild. Since we need to support it, let's document it to make it discoverable. Add docs and move it out of the `# :stopdoc:` zone. --- lib/mkmf.rb | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-)
2022-10-20merge revision(s) 2d57447ae80e0b0895d6d22d606391b48516ba93:nagachika
Fix missing replacement in 1f91dcdab3b --- template/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-20merge revision(s) 6a8f1a9e5cd1c9c2b3c6925d8d3fa76a29dabf73:nagachika
Copy from bundled gem source for test --- common.mk | 13 +++++++---- defs/gmake.mk | 4 ++++ tool/gem-unpack.rb | 63 +++++++++++++++++++++++++++++++++++------------------- 3 files changed, 54 insertions(+), 26 deletions(-)
2022-10-20merge revision(s) 87d8d25796df3865b5a0c9069c604e475a28027f:nagachika
Use configured GIT --- common.mk | 4 ++-- defs/gmake.mk | 68 +++++++++++++++++++++++++++++------------------------------ 2 files changed, 36 insertions(+), 36 deletions(-)
2022-10-20merge revision(s) abc4a46046c326263683a8b3611775c2ddd56a71:nagachika
Get rid of building main again when test-bundled-gems --- .github/workflows/ubuntu.yml | 1 + .github/workflows/yjit-ubuntu.yml | 1 + common.mk | 3 ++- defs/gmake.mk | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-)
2022-10-20merge revision(s) 071653ecd79287661c795400797a5402c4322129:nagachika
Run the prerequisites of test-bundled-gems in order --- common.mk | 6 +++++- defs/gmake.mk | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-)
2022-10-20merge revision(s) 4f1e0bfacd93c28bff549e2f3603c3b4942429a3:nagachika
Followed up CVE-2022-39253 for bundler examples --- spec/bundler/cache/git_spec.rb | 3 +++ spec/bundler/install/gemfile/git_spec.rb | 9 +++++++++ spec/bundler/update/git_spec.rb | 3 +++ 3 files changed, 15 insertions(+)
2022-10-20merge revision(s) ↵nagachika
dae843f6b7502f921a7e66f39e3714a39d860181,86096a91d55f72620e0f8ca8634da5fa342dc35b: Bypass git submodule add/update with git config protocol.file.allow=always option. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> --- test/rubygems/test_gem_source_git.rb | 5 +++++ 1 file changed, 5 insertions(+) [rubygems/rubygems] Use [] instead of double-quotes --- test/rubygems/test_gem_source_git.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-19merge revision(s) 1f91dcdab3b530dde93fa29fba8bf60683cd8056:nagachika
Define BOOTSTRAPRUBY from HAVE_BASERUBY --- common.mk | 1 + configure.ac | 8 -------- template/Makefile.in | 7 +++++-- win32/Makefile.sub | 6 ++++-- 4 files changed, 10 insertions(+), 12 deletions(-)
2022-10-18merge revision(s) 6a43245e6cda89eddd105f5a6e0182a7229657af:nagachika
Use BOOTSTRAPRUBY_COMMAND instead of fake.rb directly --- common.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-18merge revision(s) d8f81ffdff668b457339885c15d7cee785ad38be:nagachika
builtin.c includes mini_builtin.c when cross-compiling --- common.mk | 3 +++ 1 file changed, 3 insertions(+)
2022-10-18merge revision(s) 85a483169f8381bec08ff2c9a9fc66167fc8a84a:nagachika
Use cross compiling settings as fake.rb for snapshots --- tool/make-snapshot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-18merge revision(s) 76664905a589416739a13241e7b8535d78984723:nagachika
Ignore fake.rb for snapshot --- common.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
2022-10-18merge revision(s) 45004bba6b4fa22429b1c45f13444a894874c41e:nagachika
fake.rb needs id.h --- common.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
2022-10-18merge revision(s) 2767cb282531be10c6393d3d7c48fcdd2935ca4d:nagachika
Now fake.rb is needed to prepare sources --- tool/make-snapshot | 1 + 1 file changed, 1 insertion(+)
2022-10-18merge revision(s) 762fca9b12b9cfb0159404c95ee4275100169c17:nagachika
Prefer `File` class methods to write a string --- tool/make-snapshot | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-)
2022-10-18merge revision(s) a01271c1c46079cb6f7f32051f1253cf3d9bca6b:nagachika
BOOTSTRAPRUBY needs fake.rb when cross-compiling --- configure.ac | 1 + 1 file changed, 1 insertion(+)
2022-10-18merge revision(s) 7b11247b4dc6b04c3ba3876009145ce0dbf78662:nagachika
Fix potential target type confliction [ci skip] --- common.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-18merge revision(s) 7c67d0fd79a3cffe857587fa3cf576b611023840:nagachika
Make sources by BASERUBY if available instead of miniruby --- common.mk | 25 +++++++++++++++---------- configure.ac | 6 +++++- cygwin/GNUmakefile.in | 4 ++-- template/Makefile.in | 2 +- win32/Makefile.sub | 10 ++++++++-- 5 files changed, 31 insertions(+), 16 deletions(-)
2022-10-18merge revision(s) 21a5da3c4c803987c48bc9ca588948c50715631a:nagachika
Check if MSys shell can run a command with a drive letter --- configure.ac | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
2022-10-18merge revision(s) 26054c74619d36b2781e872fad15a1a0bfab1be1:nagachika
Fix paths of exts.mk to clean exts.mk files are one level under the top of extension directories. --- template/exts.mk.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-18merge revision(s) 77f3f8a1d4f45d06df6cfea2bac3a67867c19efb:nagachika
exts.mk.tmpl: propagate MINIRUBY to enc.mk even though invoking from exts.mk This is another attempt to fix out-of-src build with --with-static-linked-ext. The first attempt was 4f1888bda70981d9f5b1bf55ab692e0ce18e79f4 but reverted because it broke out-of-src build from pre-generated sources via `make dist`. This patch fixes the second trans C source gen, mentioned in the previous commit message, by passing MINIRUBY as well as when invoking from common.mk --- common.mk | 2 +- template/exts.mk.tmpl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
2022-10-16merge revision(s) 464f73a5f0c1042bfefdd367b330cbdcafffca95:nagachika
Do not load library files from repository only for test What we want to test should be the bundled and to be installed files, but not the upstream. --- tool/test-bundled-gems.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-16merge revision(s) 64cff780051adf95a0f1799baddec98ae23e8add:nagachika
`Gem.unpack` extracts gems so able to execute Creates simple bin stubs to load the extracted executable files. After only extracted under `gems` directory, the gems are considered installed but the executable scripts are not found. Also the second argument is now the parent of the previous second and third arguments. --- common.mk | 6 ++---- defs/gmake.mk | 3 +-- tool/gem-unpack.rb | 30 +++++++++++++++++++----------- 3 files changed, 22 insertions(+), 17 deletions(-)
2022-10-16merge revision(s) d20886dd225e07fe14347398c2c0913f3e11d22a:nagachika
Create build-only gemspec files only if having an extension --- tool/gem-unpack.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
2022-10-16merge revision(s) 32d1ce96e09773e809d575c17b916012d88d6ffc:nagachika
Fix race conditions when cleaning extensions Clean built directories by `make distclean`, and then clean leftover makefiles for skipped extensions. --- template/Makefile.in | 4 ++++ 1 file changed, 4 insertions(+)
2022-10-16merge revision(s) 0c9803b0fdfd17981bd9f59767adab0207c3a74d:nagachika
The "gems" build directory was rename as ".bundle" --- common.mk | 12 ++++++------ template/Makefile.in | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-)
2022-10-16merge revision(s) 21f006f5f7c161fd3857f69186e810f1958bd7f0:nagachika
Retrieve previously configured macros also other than `extensions` --- template/exts.mk.tmpl | 1 - 1 file changed, 1 deletion(-)
2022-10-16merge revision(s) d7afaf21f2edfac8a606891868a3c4a7025267bd:nagachika
Move the target directory of bundled gems like as rubygems --- ext/extmk.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
2022-10-16merge revision(s) 17ce0b9b846a065065008b5fb2e9f8ad13058fa1:nagachika
Retrieve configured gems info --- template/configure-ext.mk.tmpl | 2 +- template/exts.mk.tmpl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
2022-10-16merge revision(s) db3d111c1d1e90b400f1e737ded6a4e4bdf2cec8:nagachika
Bundled gems are expanded under `.bundle/gems` now --- ext/extmk.rb | 13 +++++++------ template/exts.mk.tmpl | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-)
2022-10-16merge revision(s) ee6cc2502664ac46edc61868d8954b626bb48e53:nagachika
Remove wrong dollar --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-15merge revision(s) 5e554d30ba747ad1b59335efaa63c7e3c94bfad0:nagachika
Upgrade zlib_version on AppVeyor They removed https://zlib.net/zlib1212.zip because https://zlib.net/zlib1213.zip was released :thinking_face: Fix CI failures like: https://ci.appveyor.com/project/ruby/ruby/builds/45064876/job/bb9biogolh0u2595 --- .appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-15merge revision(s) 9d900620cafc379f527ee04a338f3a7f5daf6962:nagachika
Set `GEM_PATH` environment variable in runruby.rb --- tool/runruby.rb | 6 ++++++ 1 file changed, 6 insertions(+)
2022-10-15merge revision(s) 416cba90c1610f54dafd91234de9ec74d73ae22c:nagachika
Try to install also gemspec files under gem directories Gemspec files having extension libraries are placed under each gem directories now. --- tool/rbinstall.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
2022-10-15merge revision(s) 2d1032075a4654b8b54dde96424f299f7f29f9d6:nagachika
Stop `build_extensions` when DESTDIR set Try to fix `make install without root privilege` failures on snapshot CIs. example: https://github.com/ruby/actions/actions/runs/2315349280 --- tool/rbinstall.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-15merge revision(s) 79fa27acc452c50ae47936880f91424e729fda72:nagachika
rbinstall: Also do `Gem.ruby` patching for unpacked bundled gems Pointing `Gem.ruby` to the newly installed ruby gives mkmf the right inputs to build extensions in bundled gems. Previously, this patching was only done for compressed bundled gems. This patch also prevents `tool/fake.rb` from propagating to the child process running mkmf for the native extension. The way `tool/fake.rb` changes mkmf variables using `Kernel#trace_var` created spooky action at a distance which made debugging difficult. AppVeyor Windows CI started to fail starting with 8a3663789c52ec5635194656af6b69d3d03120ee because it enabled extension building for bundled gems on mswin. This patch should address the CI failures. --- tool/rbinstall.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
2022-10-15merge revision(s) 8a3663789c52ec5635194656af6b69d3d03120ee:nagachika
Fix bundled gems installation when relative loading --- tool/rbinstall.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
2022-10-15merge revision(s) 7e4ac434b923739b540ce21cba307c4d0515d72e:nagachika
Skip build extensions again on cross compiling too --- tool/rbinstall.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-15merge revision(s) 3112475469e35b522448858d23ee1651532276e7:nagachika
Skip build extensions again on mswin and mingw --- tool/rbinstall.rb | 3 +++ 1 file changed, 3 insertions(+)
2022-10-15merge revision(s) 4246e102d49eae0bd1bca01fba53286ad8178d2a:nagachika
Enabled to build extensions with the bundled gems again https://github.com/ruby/ruby/commit/cbb115213c42f15638ef119eb20c4d3106eb8b1a https://github.com/ruby/ruby/commit/5c1b76a3a55afeb07116bbd3492303c6b6cd890d --- tool/rbinstall.rb | 3 --- 1 file changed, 3 deletions(-)