summaryrefslogtreecommitdiff
path: root/tool/mkconfig.rb
AgeCommit message (Collapse)Author
2022-11-04mkconfig.rb: take CPU name from arch flagNobuyoshi Nakada
2022-04-25[DOC] Move :nodoc: so rdoc finds `RbConfig.ruby`Alan Wu
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 Notes: Merged: https://github.com/ruby/ruby/pull/5843 Merged-By: XrXr
2022-02-24Add ABI version to RUBY_LIB_VERSIONPeter Zhu
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. Notes: Merged: https://github.com/ruby/ruby/pull/5591
2022-02-22[Feature #18249] Implement ABI checkingPeter Zhu
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"]`. Notes: Merged: https://github.com/ruby/ruby/pull/5474
2021-10-30Get rid of exponential backtracks found by CodeQLNobuyoshi Nakada
Since these regexps are used at build/installation, they are not vulnerabilities. Notes: Merged: https://github.com/ruby/ruby/pull/5056
2021-04-15mkconfig.rb: Update around SDKROOTNobuyoshi Nakada
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`.
2021-03-22Add `RbConfig::CONFIG["platform"]`Nobuyoshi Nakada
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. Notes: Merged: https://github.com/ruby/ruby/pull/4300 Merged-By: nobu <nobu@ruby-lang.org>
2021-01-07rbconfig.rb: extract cpu from RUBY_PLATFORM when universalNobuyoshi Nakada
2020-03-30[DOC] Updated module name [ci skip]Nobuyoshi Nakada
2020-03-25Make RbConfig::CONFIG values mutable [Bug #16738]Nobuyoshi Nakada
As `RbConfig.expand` modifies the argument and involved `CONFIG` values, its values should be mutable.
2020-03-21[ci skip]Fix return type on RbConfig.fire_update!taki
Notes: Merged: https://github.com/ruby/ruby/pull/2972
2019-12-20Fixed misspellingsNobuyoshi Nakada
Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
2019-12-04MJIT_CC and MJIT_SUPPORT are not a prefixTakashi Kokubun
0b19e15a1239bff9ae854f522f954206ec910cf8 was also for "MJIT_SUPPORT" too.
2019-12-04Prefer using MJIT_CC for JIT support checkTakashi Kokubun
because Solaris might have CC=cc and we'd like to check full path MJIT_CC=/opt/developerstudio12.5/bin/cc instead.
2019-06-28Removed unused variableNobuyoshi Nakada
2019-01-11Fix make-snapshot for trunkkazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-28fix r66599 to sucess install. please refix this patch @nobuko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-28Moved version numbersnobu
* 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
2018-12-10Remove unnecessary require of fileutilsnobu
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
2018-12-07Add UNICODE_EMOJI_VERSION to RbConfig [Feature #15341]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-14Add RbConfig.fire_update!nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20rename configure option `--disable-mjit` to `--disable-mjit-support`ko1
* 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
2018-06-22remove DISABLE_RUBYGEMS from config filesnobu
* 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
2018-02-08mkconfig.rb: hide MJIT configurationsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-02mkconfig.rb: remove cross_compilingnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-17mkconfig.rb: add a magic comment to rbconfig.rbshugo
* 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
2016-11-05mkconfig.rb: trailing spacenobu
* 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
2016-11-05* tool/mkconfig.rb: [DOC] add rbconfig documentation.sho-h
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-09Use keywordnobu
* 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
2016-06-14Unicode Version in RbConfignobu
* 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
2016-06-09common.mk: ifchange for mkconfig.rbnobu
* 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
2016-02-29mkconfig.rb: cross_compiling optionnobu
* 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
2016-01-09extract version from version.hnobu
* 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
2016-01-01mkconfig.rb: SDKROOTnobu
* 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
2015-12-09mkconfig.rb: must not be frozennobu
* 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
2015-11-16* mkconfig.rb: Add some high-level documentation.hsbt
[ci skip][fix GH-1081] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-02rbconfig.rb: use program versionnobu
* 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
2015-03-26mkconfig.rb: embed version substringnobu
* 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
2015-03-07mkconfig.rb: without fake.rbnobu
* 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
2015-03-07configure.in: BOOTSTRAPRUBYnobu
* 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
2015-03-01mkconfig.rb: no build-time variablesnobu
* 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
2015-02-25mkconfig.rb: delete DESTDIRnobu
* 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
2015-02-25* tool/merger.rb: support 2.1+ versioning scheme.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-10mkconfig.rb: SDKROOTnobu
* 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
2014-07-07* tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb.naruse
* lib/rbconfig/obsolete.rb: removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-27mkconfig.rb: fix empty prefixnobu
* 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
2014-06-27mkconfig.rb: fix empty prefixnobu
* tool/mkconfig.rb: fix empty RbConfig::CONFIG["prefix"] when configured --with-rubyarchprefix, remove prefix from rubyarchdir after expansion for the case it does not start with '$(prefix)'. [fix GH-643] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-31mkconfig.rb: pass version numbersnobu
* tool/mkconfig.rb (RbConfig): version numbers are also needed by RUBY_SO_NAME. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-27mkconfig.rb: prefer unexpanded valuesnobu
* tool/mkconfig.rb: prefer configured values than overriding values for RUBY_INSTALL_NAME and RUBY_SO_NAME when expanded results are same. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31win32/configure.bat: option argumentsnobu
* win32/configure.bat: try to fix option arguments split by commas and equals here. this batch file no longer run with old command.com. * tool/mkconfig.rb: no hacks for cmd.exe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e