summaryrefslogtreecommitdiff
path: root/tool/mkconfig.rb
Commit message (Collapse)AuthorAgeFilesLines
* s/MJIT/RJIT/Takashi Kokubun2023-03-061-2/+2
|
* Prefer to use File.foreach instead of IO.foreachHiroshi SHIBATA2023-02-271-2/+2
|
* mkconfig: Map `includedir` only for system rubyNobuyoshi Nakada2023-01-311-1/+3
| | | | | | Only when installing to the system path on macOS, prepend '$(SDKROOT)' and remap `includedir`. Fix https://github.com/rbenv/ruby-build/discussions/2123
* Fix `target_cpu` at runtimeNobuyoshi Nakada2023-01-261-4/+6
|
* mkconfig.rb: take CPU name from arch flagNobuyoshi Nakada2022-11-041-0/+8
|
* [DOC] Move :nodoc: so rdoc finds `RbConfig.ruby`Alan Wu2022-04-251-2/+1
| | | | | | Rdoc [build] of `master` did not have this method but the reference manual [did]. [build]: https://docs.ruby-lang.org/en/master/RbConfig.html [did]: https://docs.ruby-lang.org/ja/master/class/RbConfig.html#S_RUBY
* Add ABI version to RUBY_LIB_VERSIONPeter Zhu2022-02-241-9/+0
| | | | | | This commit adds the ABI version as build metadata to RUBY_LIB_VERSION. This will ensure that gems are installed in a path with the ABI version.
* [Feature #18249] Implement ABI checkingPeter Zhu2022-02-221-0/+9
| | | | | | | | | | | | | | | | | | | | Header file include/ruby/internal/abi.h contains RUBY_ABI_VERSION which is the ABI version. This value should be bumped whenever an ABI incompatible change is introduced. When loading dynamic libraries, Ruby will compare its own `ruby_abi_version` and the `ruby_abi_version` of the loaded library. If these two values don't match it will raise a `LoadError`. This feature can also be turned off by setting the environment variable `RUBY_RUBY_ABI_CHECK=0`. This feature will prevent cases where previously installed native gems fail in unexpected ways due to incompatibility of changes in header files. This will force the developer to recompile their gems to use the same header files as the built Ruby. In Ruby, the ABI version is exposed through `RbConfig::CONFIG["ruby_abi_version"]`.
* Get rid of exponential backtracks found by CodeQLNobuyoshi Nakada2021-10-301-1/+1
| | | | | Since these regexps are used at build/installation, they are not vulnerabilities.
* mkconfig.rb: Update around SDKROOTNobuyoshi Nakada2021-04-151-2/+10
| | | | | | | c.f. https://opensource.apple.com/source/ruby/ruby-145.40.1/patches/tool_mkconfig.rb.diff * moved to "includedir" from "oldincludedir". * honor "$(prefix)/include" if exists, otherwise fallback to `xcrun`.
* Add `RbConfig::CONFIG["platform"]`Nobuyoshi Nakada2021-03-221-1/+3
| | | | | | Means the platform with the actual CPU info on universal binary. The CPU in "arch" is fixed as "universal" to refer the header and library paths.
* rbconfig.rb: extract cpu from RUBY_PLATFORM when universalNobuyoshi Nakada2021-01-071-1/+1
|
* [DOC] Updated module name [ci skip]Nobuyoshi Nakada2020-03-301-4/+4
|
* Make RbConfig::CONFIG values mutable [Bug #16738]Nobuyoshi Nakada2020-03-251-1/+1
| | | | | As `RbConfig.expand` modifies the argument and involved `CONFIG` values, its values should be mutable.
* [ci skip]Fix return type on RbConfig.fire_update!taki2020-03-211-2/+2
|
* Fixed misspellingsNobuyoshi Nakada2019-12-201-1/+1
| | | | Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
* MJIT_CC and MJIT_SUPPORT are not a prefixTakashi Kokubun2019-12-041-1/+1
| | | | | 0b19e15a1239bff9ae854f522f954206ec910cf8 was also for "MJIT_SUPPORT" too.
* Prefer using MJIT_CC for JIT support checkTakashi Kokubun2019-12-041-1/+1
| | | | | because Solaris might have CC=cc and we'd like to check full path MJIT_CC=/opt/developerstudio12.5/bin/cc instead.
* Removed unused variableNobuyoshi Nakada2019-06-281-1/+1
|
* Fix make-snapshot for trunkkazu2019-01-111-0/+16
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix r66599 to sucess install. please refix this patch @nobuko12018-12-281-4/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Moved version numbersnobu2018-12-281-1/+1
| | | | | | | | | | | | * Define major and minor version numbers only in the public include/ruby/version.h header, as the API version numbers. * Define only teeny version number in the private version.h header. * RUBY_VERSION moved to version.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove unnecessary require of fileutilsnobu2018-12-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Today I updated my ruby core clone, and I run the usual steps to compile ruby. When running "make", I run into the following error: ``` (... stuff ...) encdb.h unchanged Traceback (most recent call last): 5: from ./tool/mkconfig.rb:19:in `<main>' 4: from ./tool/mkconfig.rb:19:in `require' 3: from /home/deivid/Code/ruby/lib/fileutils.rb:4:in `<top (required)>' 2: from /home/deivid/Code/ruby/lib/fileutils.rb:4:in `require' 1: from /home/deivid/Code/ruby/rbconfig.rb:11:in `<top (required)>' /home/deivid/Code/ruby/rbconfig.rb:13:in `<module:RbConfig>': ruby lib version (2.5.0) doesn't match executable version (2.6.0) (RuntimeError) uncommon.mk:780: recipe for target '.rbconfig.time' failed make: *** [.rbconfig.time] Error 1 ``` Apparently, the script that generates the root `rbconfig.rb` file requires `fileutils`, which in turn requires 'rbconfig' (for mjit-headers it says in a comment), which uses the `rbconfig.rb` config file in the root folder if it exists. In my case, this file existed but had been generated on 2.5.0, thus causing the error. I think we can avoid this sort of circular dependency by not requiring `fileutils`, since it does not seem to be used anywhere in the `tool/mkconfig.rb` script since r55338. [Fix GH-2045] From: David Rodríguez <deivid.rodriguez@riseup.net> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add UNICODE_EMOJI_VERSION to RbConfig [Feature #15341]nobu2018-12-071-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add RbConfig.fire_update!nobu2018-11-141-0/+32
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rename configure option `--disable-mjit` to `--disable-mjit-support`ko12018-10-201-0/+1
| | | | | | | | | | | | | | | | | | | | * configure.ac: rename configure option `--disable-mjit` to `--disable-mjit-support` because `--disable-mjit` is ambiguous that runtime MJIT default enable option or supporting MJIT features. `ENABLE_MJIT` is also renamed to `MJIT_SUPPORT` * Makefile.in: catch up this fix. * common.mk: ditto. * test/ruby/test_jit.rb: ditto. * win32/Makefile.sub: catch up this fix on mswin. * tool/mkconfig.rb: fix to pass `MJIT_SUPPORT` key. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove DISABLE_RUBYGEMS from config filesnobu2018-06-221-0/+1
| | | | | | | | | | | | | | * configure.ac: removed DISABLE_RUBYGEMS macro from config.h, not to rebuild everything when the flag changed. * configure.ac, win32/configure.bat: make USE_RUBYGEMS lowercase. * tool/mkconfig.rb: remove RUBYGEMS stuff from rbconfig.rb, not to reconfigure and rebuild all extension libraries. * Makefile.in (CPPFLAGS): enable/disable Rubygems by USE_RUBYGEMS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: hide MJIT configurationsnobu2018-02-081-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: remove cross_compilingnobu2017-05-021-2/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: add a magic comment to rbconfig.rbshugo2016-11-171-0/+1
| | | | | | | * tool/mkconfig.rb: add a magic comment to rbconfig.rb in case the command line option -K is specified. [ruby-core:78181] [Bug #12949] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: trailing spacenobu2016-11-051-1/+1
| | | | | | | * tool/mkconfig.rb: [DOC] remove trailing space from a generated line. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/mkconfig.rb: [DOC] add rbconfig documentation.sho-h2016-11-051-0/+43
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use keywordnobu2016-07-091-1/+1
| | | | | | | * tool/mkconfig.rb: use keyword true, instead of the toplevel constant. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Unicode Version in RbConfignobu2016-06-141-0/+4
| | | | | | | | * tool/mkconfig.rb: provide Unicode Version information as RbConfig::CONFIG['UNICODE_VERSION']. [ruby-core:75845] [Feature #12460] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: ifchange for mkconfig.rbnobu2016-06-091-28/+0
| | | | | | | | * common.mk (RBCONFIG): use ifchange tool to see if the content is changed and update the timestamp file. * tool/mkconfig.rb: remove ifchange features. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: cross_compiling optionnobu2016-02-291-1/+2
| | | | | | | | * common.mk, tool/mkconfig.rb: set cross_compiling option from Makefile, but not from rbconfig.rb, which is just going to be created by this command. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* extract version from version.hnobu2016-01-091-5/+5
| | | | | | | * tool/mkconfig.rb: extract version numbers from version.h but not from API version in include/ruby/version.h. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: SDKROOTnobu2016-01-011-1/+1
| | | | | | | | * tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir not includedir, the latter is outside the ruby installation. [ruby-core:72496] [Bug #11881] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: must not be frozennobu2015-12-091-0/+1
| | | | | | | * tool/mkconfig.rb: rbconfig must not be fronzen-string-literal to expand CONFIG hash. [ruby-core:72006] [Bug #11798] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * mkconfig.rb: Add some high-level documentation.hsbt2015-11-161-2/+9
| | | | | | [ci skip][fix GH-1081] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rbconfig.rb: use program versionnobu2015-04-021-1/+1
| | | | | | | | | | | * common.mk, tool/mkconfig.rb: check the running ruby version in rbconfig.rb with the program version, as RUBY_VERSION has never been affected by --with-ruby-version option. [ruby-core:68639] [Bug #11002] * configure.in (LIBRUBY_DLDFLAGS): compatibility_version must be valid version numbers, not an arbitrary string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: embed version substringnobu2015-03-261-1/+1
| | | | | | | | * tool/mkconfig.rb (RbConfig): embed substring of the version, not at the runtime, and fall back to the version itself for the case it does not include the teeny version. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: without fake.rbnobu2015-03-071-11/+11
| | | | | | | * tool/mkconfig.rb: use arguments instead of built-in constants to work without fake.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: BOOTSTRAPRUBYnobu2015-03-071-1/+1
| | | | | | | * configure.in (BOOTSTRAPRUBY): baseruby if cross compiling or miniruby, anyway runnable ruby command. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: no build-time variablesnobu2015-03-011-1/+3
| | | | | | | * tool/mkconfig.rb: exclude unnecessary build-time only variables, various ruby commands, installation targets, and dtrace stuffs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: delete DESTDIRnobu2015-02-251-0/+1
| | | | | | | * tool/mkconfig.rb (RbConfig): delete default DESTDIR set by --with-destdir. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/merger.rb: support 2.1+ versioning scheme.naruse2015-02-251-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: SDKROOTnobu2015-02-101-0/+5
| | | | | | | | * tool/mkconfig.rb (RbConfig): allow prefix includedir by SDKROOT environment variable on OSX. cf. http://www.opensource.apple.com/source/ruby/ruby-106/patches/tool_mkconfig.rb.diff git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb.naruse2014-07-071-1/+0
| | | | | | * lib/rbconfig/obsolete.rb: removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: fix empty prefixnobu2014-06-271-2/+2
| | | | | | * tool/mkconfig.rb: vars["prefix"] may not set. [fix GH-643] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e