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.
mkmf: Add the extra option
--with-verboseto enable verbose mode. (#7863)This commit is to add an extra option to enable verbose mode (V=1) in the
generated
Makefileat runtime of the Ruby to print compiler command lines bythe 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.
You can also add the extra option via rake-compiler gem.
If the extra option is not given, the value of the
RbConfig::CONFIG["MKMF_VERBOSE"]enabled by the configure option below isused.
For the unit tests, updated the following files.
test/mkmf/test_configuration.rbwas created to test the cases with theconfigurationmethod and this implementation.TestMkmf#assert_separatelyto set the extraarguments in
test/mkmf/base.rb. Updated tests using theassert_separately.MakeMakefile#with_configin thetest/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