diff options
author | Jun Aruga <junaruga@users.noreply.github.com> | 2023-05-29 10:09:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-29 10:09:32 +0200 |
commit | 57459b83a9a52ab921094a1562fe3056df9a437a (patch) | |
tree | cfaa3343aa917a79430b2135280d7e929b5299f6 /lib/mkmf.rb | |
parent | d5ef373b1194bac64784ae316d125d7a2cf1988a (diff) | |
download | ruby-57459b83a9a52ab921094a1562fe3056df9a437a.tar.gz |
mkmf: Add the extra option `--with-verbose` to enable verbose mode. (#7863)
This commit is to add an extra option to enable verbose mode (V=1) in the
generated `Makefile` at runtime of the Ruby to print compiler command lines by
the commands below when building native extensions. It's possible to enable the
verbose mode by setting the environment variable `MAKEFLAGS="V=1"`[1]
implemented in GNU make. However, I wanted to make a consistent user-interface
not depending on the specific make's implementation.
```
$ ruby /path/to/extconf.rb -- --with-verbose
```
You can also add the extra option via rake-compiler gem.
```
$ rake compiler -- --with-verbose
```
If the extra option is not given, the value of the
`RbConfig::CONFIG["MKMF_VERBOSE"]` enabled by the configure option below is
used.
```
$ ./configure --enable-mkmf-verbose
```
For the unit tests, updated the following files.
* The `test/mkmf/test_configuration.rb` was created to test the cases with the
`configuration` method and this implementation.
* Updated the `TestMkmf#assert_separately` to set the extra
arguments in `test/mkmf/base.rb`. Updated tests using the `assert_separately`.
* Added tests for `MakeMakefile#with_config` in the `test/mkmf/test_config.rb`.
[1] https://www.gnu.org/software/make/manual/html_node/Variables_002fRecursion.html
Fixes [Bug #19695]
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Diffstat (limited to 'lib/mkmf.rb')
-rw-r--r-- | lib/mkmf.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 245b0a44ce..20389ed705 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -1965,14 +1965,14 @@ SRC def configuration(srcdir) mk = [] - CONFIG['MKMF_VERBOSE'] ||= "0" + verbose = with_config('verbose') ? "1" : (CONFIG['MKMF_VERBOSE'] || "0") vpath = $VPATH.dup CONFIG["hdrdir"] ||= $hdrdir mk << %{ SHELL = /bin/sh # V=0 quiet, V=1 verbose. other values don't work. -V = #{CONFIG['MKMF_VERBOSE']} +V = #{verbose} V0 = $(V:0=) Q1 = $(V:1=) Q = $(Q1:0=@) |