Commit graph

10 commits

Author SHA1 Message Date
Yuta Saito
8b55aaa85c [Feature #20345] Add --target-rbconfig option to mkmf
Introduce a new mkmf option `--target-rbconfig` to specify the RbConfig
file for the deployment target platform. This option is useful for
cross-compiling Ruby extensions without faking the global top-level
`RbConfig` constant.
2024-04-02 14:24:54 +09:00
Jun Aruga
57459b83a9
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>
2023-05-29 10:09:32 +02:00
Nobuyoshi Nakada
3a7367ccc3 mkconfig: Map includedir only for system ruby
Only when installing to the system path on macOS, prepend '$(SDKROOT)'
and remap `includedir`.
Fix https://github.com/rbenv/ruby-build/discussions/2123
2023-01-31 06:33:16 +09:00
Jeremy Evans
ab3cb29bd9 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]
2022-04-22 15:00:16 -07:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
akr
fb2008a73a * test/lib/envutil.rb: Moved from test/ruby/.
* test/lib/find_executable.rb: Ditto.

* test/lib/memory_status.rb: Ditto.

* test/lib/test/unit.rb: require envutil.

* test/: Don't require envutil in test files.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13 16:05:37 +00:00
nobu
f09b772de6 test_config.rb: fix library path
* test/mkmf/test_config.rb (test_dir_config): fix expected library
  path.  [ruby-core:57535] [Bug #8972]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-01 11:36:47 +00:00
nobu
0eed101a54 test/mkmf: $extmk in parallel test
* test/mkmf/base.rb, test/mkmf/test_config.rb: needs to set $extmk
  since worker processes in parallel test mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-04 07:03:07 +00:00
nobu
79ea4d627f * test/mkmf/test_config.rb (TestMkmf): fix superclass mismatch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-11 12:12:15 +00:00
nobu
76d8cc33f9 mkmf.rb: defer use of instance variable
* lib/mkmf.rb (MakeMakefile#dir_config, MakeMakefile#_libdir_basename):
  defer use of instance variable until needed.  [Bug #8074]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-11 02:53:47 +00:00