module RbConfig
The module storing Ruby interpreter configurations on building.
This file was created by mkconfig.rb when ruby was built. It contains build information for ruby which is used e.g. by mkmf to build compatible native extensions. Any changes made to this file will be lost the next time ruby is built.
Constants
- CONFIG
-
The hash configurations stored.
- DESTDIR
-
DESTDIRon make install. - MAKEFILE_CONFIG
-
Almost same with
CONFIG.MAKEFILE_CONFIGhas other variable reference like below.MAKEFILE_CONFIG["bindir"] = "$(exec_prefix)/bin"
The values of this constant is used for creating Makefile.
require 'rbconfig' print <<-END_OF_MAKEFILE prefix = #{RbConfig::MAKEFILE_CONFIG['prefix']} exec_prefix = #{RbConfig::MAKEFILE_CONFIG['exec_prefix']} bindir = #{RbConfig::MAKEFILE_CONFIG['bindir']} END_OF_MAKEFILE => prefix = /usr/local exec_prefix = $(prefix) bindir = $(exec_prefix)/bin MAKEFILE_CONFIG = {}RbConfig.expandis used for resolving references like above in rbconfig.require 'rbconfig' p RbConfig.expand(RbConfig::MAKEFILE_CONFIG["bindir"]) # => "/usr/local/bin"
- TOPDIR
-
Rubyinstalled directory.
Public Class Methods
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rb_config.rbs, line 62
def self.expand: (String val, ?Hash[String, String] config) -> String
expands variable with given val value.
RbConfig.expand("$(bindir)") # => /home/foobar/all-ruby/ruby19x/bin
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/core/rb_config.rbs, line 79
def self.fire_update!: (String key, String val, ?Hash[String, String] mkconf, ?Hash[String, String] conf) -> Array[String]?
updates key+ in mkconfwithval, and all values depending on the keyinmkconf`.
RbConfig::MAKEFILE_CONFIG.values_at(“CC”, “LDSHARED”) # => [“gcc”, “$(CC) -shared”] RbConfig::CONFIG.values_at(“CC”, “LDSHARED”) # => [“gcc”, “gcc -shared”] RbConfig.fire_update!(“CC”, “gcc-8”) # => [“CC”, “LDSHARED”] RbConfig::MAKEFILE_CONFIG.values_at(“CC”, “LDSHARED”) # => [“gcc-8”, “$(CC) -shared”] RbConfig::CONFIG.values_at(“CC”, “LDSHARED”) # => [“gcc-8”, “gcc-8 -shared”]
returns updated keys list, or nil if nothing changed.