Created
May 7, 2020 03:24
-
-
Save bryansoto/e42e644251a56adf22ce8821ff225a7d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # encoding: ascii-8bit | |
| # frozen-string-literal: false | |
| # | |
| # 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. | |
| module RbConfig | |
| RUBY_VERSION.start_with?("2.6.") or | |
| raise "ruby lib version (2.6.6) doesn't match executable version (#{RUBY_VERSION})" | |
| # Ruby installed directory. | |
| TOPDIR = File.dirname(__FILE__).chomp!("/lib/ruby/2.6.0/x86_64-darwin19") | |
| # DESTDIR on make install. | |
| DESTDIR = '' unless defined? DESTDIR | |
| # The hash configurations stored. | |
| CONFIG = {} | |
| CONFIG["DESTDIR"] = DESTDIR | |
| CONFIG["MAJOR"] = "2" | |
| CONFIG["MINOR"] = "6" | |
| CONFIG["TEENY"] = "6" | |
| CONFIG["PATCHLEVEL"] = "146" | |
| CONFIG["INSTALL"] = '/usr/bin/install -c' | |
| CONFIG["EXEEXT"] = "" | |
| CONFIG["prefix"] = (TOPDIR || DESTDIR + "/opt/vagrant/embedded") | |
| CONFIG["ruby_install_name"] = "$(RUBY_BASE_NAME)" | |
| CONFIG["RUBY_INSTALL_NAME"] = "$(RUBY_BASE_NAME)" | |
| CONFIG["RUBY_SO_NAME"] = "$(RUBY_BASE_NAME).$(RUBY_API_VERSION)" | |
| CONFIG["exec"] = "exec" | |
| CONFIG["ruby_pc"] = "ruby-2.6.pc" | |
| CONFIG["CC_WRAPPER"] = "" | |
| CONFIG["PACKAGE"] = "ruby" | |
| CONFIG["BUILTIN_TRANSSRCS"] = " enc/trans/newline.c" | |
| CONFIG["MANTYPE"] = "doc" | |
| CONFIG["vendorarchhdrdir"] = "$(vendorhdrdir)/$(sitearch)" | |
| CONFIG["sitearchhdrdir"] = "$(sitehdrdir)/$(sitearch)" | |
| CONFIG["rubyarchhdrdir"] = "$(rubyhdrdir)/$(arch)" | |
| CONFIG["vendorhdrdir"] = "$(rubyhdrdir)/vendor_ruby" | |
| CONFIG["sitehdrdir"] = "$(rubyhdrdir)/site_ruby" | |
| CONFIG["rubyhdrdir"] = "$(includedir)/$(RUBY_VERSION_NAME)" | |
| CONFIG["RUBY_SEARCH_PATH"] = "" | |
| CONFIG["UNIVERSAL_INTS"] = "" | |
| CONFIG["UNIVERSAL_ARCHNAMES"] = "" | |
| #CONFIG["configure_args"] = " '--prefix=/opt/vagrant/embedded' '--disable-debug' '--disable-dependency-tracking' '--disable-install-doc' '--enable-shared' '--with-opt-dir=/opt/vagrant/embedded' '--enable-load-relative' 'CFLAGS=-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk-isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk' 'LDFLAGS= -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk' 'CPPFLAGS=-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk' 'CXXFLAGS=-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk'" | |
| CONFIG["configure_args"] = " '--prefix=/opt/vagrant/embedded' '--disable-debug' '--disable-dependency-tracking' '--disable-install-doc' '--enable-shared' '--with-opt-dir=/opt/vagrant/embedded' '--enable-load-relative' 'CFLAGS=-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9' 'LDFLAGS= -mmacosx-version-min=10.9' 'CPPFLAGS=-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9' 'CXXFLAGS=-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9'" | |
| CONFIG["CONFIGURE"] = "configure" | |
| CONFIG["vendorarchdir"] = "$(vendorlibdir)/$(sitearch)" | |
| CONFIG["vendorlibdir"] = "$(vendordir)/$(ruby_version)" | |
| CONFIG["vendordir"] = "$(rubylibprefix)/vendor_ruby" | |
| CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)" | |
| CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)" | |
| CONFIG["sitedir"] = "$(rubylibprefix)/site_ruby" | |
| CONFIG["rubyarchdir"] = "$(rubylibdir)/$(arch)" | |
| CONFIG["rubylibdir"] = "$(rubylibprefix)/$(ruby_version)" | |
| CONFIG["ruby_version"] = "2.6.0" | |
| CONFIG["sitearch"] = "$(arch)" | |
| CONFIG["arch"] = "x86_64-darwin19" | |
| CONFIG["sitearchincludedir"] = "$(includedir)/$(sitearch)" | |
| CONFIG["archincludedir"] = "$(includedir)/$(arch)" | |
| CONFIG["sitearchlibdir"] = "$(libdir)/$(sitearch)" | |
| CONFIG["archlibdir"] = "$(libdir)/$(arch)" | |
| CONFIG["libdirname"] = "libdir" | |
| CONFIG["RUBY_EXEC_PREFIX"] = "" | |
| CONFIG["RUBY_LIB_VERSION"] = "" | |
| CONFIG["RUBY_LIB_VERSION_STYLE"] = "3\t/* full */" | |
| CONFIG["RI_BASE_NAME"] = "ri" | |
| CONFIG["ridir"] = "$(datarootdir)/$(RI_BASE_NAME)" | |
| CONFIG["rubysitearchprefix"] = "$(rubylibprefix)/$(sitearch)" | |
| CONFIG["rubyarchprefix"] = "$(rubylibprefix)/$(arch)" | |
| CONFIG["MAKEFILES"] = "Makefile GNUmakefile" | |
| CONFIG["PLATFORM_DIR"] = "" | |
| CONFIG["THREAD_MODEL"] = "pthread" | |
| CONFIG["SYMBOL_PREFIX"] = "_" | |
| CONFIG["EXPORT_PREFIX"] = "" | |
| CONFIG["COMMON_HEADERS"] = "" | |
| CONFIG["COMMON_MACROS"] = "" | |
| CONFIG["COMMON_LIBS"] = "" | |
| CONFIG["MAINLIBS"] = "-lpthread -ldl -lobjc" | |
| CONFIG["ENABLE_SHARED"] = "yes" | |
| CONFIG["DLDSHARED"] = "$(CC) -dynamiclib" | |
| CONFIG["DLDLIBS"] = "" | |
| CONFIG["SOLIBS"] = "$(MAINLIBS)" | |
| CONFIG["LIBRUBYARG_SHARED"] = "-l$(RUBY_SO_NAME)" | |
| CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static -framework Security -framework Foundation $(MAINLIBS)" | |
| CONFIG["LIBRUBYARG"] = "$(LIBRUBYARG_SHARED)" | |
| CONFIG["LIBRUBY"] = "$(LIBRUBY_SO)" | |
| CONFIG["LIBRUBY_ALIASES"] = "lib$(RUBY_INSTALL_NAME).$(SOEXT)" | |
| CONFIG["LIBRUBY_SONAME"] = "$(LIBRUBY_SO)" | |
| CONFIG["LIBRUBY_SO"] = "lib$(RUBY_SO_NAME).$(SOEXT)" | |
| CONFIG["LIBRUBY_A"] = "lib$(RUBY_SO_NAME)-static.a" | |
| CONFIG["RUBYW_INSTALL_NAME"] = "" | |
| CONFIG["rubyw_install_name"] = "" | |
| CONFIG["EXTDLDFLAGS"] = "" | |
| CONFIG["EXTLDFLAGS"] = "" | |
| CONFIG["strict_warnflags"] = "" | |
| CONFIG["warnflags"] = "-Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wextra-tokens" | |
| CONFIG["debugflags"] = "-ggdb3" | |
| CONFIG["optflags"] = "-O3" | |
| CONFIG["NULLCMD"] = ":" | |
| CONFIG["ENABLE_DEBUG_ENV"] = "" | |
| CONFIG["DLNOBJ"] = "dln.o" | |
| CONFIG["INSTALL_STATIC_LIBRARY"] = "no" | |
| CONFIG["MJIT_SUPPORT"] = "yes" | |
| CONFIG["EXECUTABLE_EXTS"] = "" | |
| CONFIG["ARCHFILE"] = "" | |
| CONFIG["LIBRUBY_RELATIVE"] = "yes" | |
| CONFIG["EXTOUT"] = ".ext" | |
| CONFIG["PREP"] = "miniruby$(EXEEXT) exe/$(PROGRAM)" | |
| CONFIG["CROSS_COMPILING"] = "no" | |
| CONFIG["TEST_RUNNABLE"] = "yes" | |
| CONFIG["rubylibprefix"] = "$(libdir)/$(RUBY_BASE_NAME)" | |
| CONFIG["setup"] = "Setup" | |
| CONFIG["ENCSTATIC"] = "" | |
| CONFIG["EXTSTATIC"] = "" | |
| CONFIG["STRIP"] = "strip -A -n" | |
| CONFIG["SOEXT"] = "dylib" | |
| CONFIG["TRY_LINK"] = "" | |
| CONFIG["PRELOADENV"] = "DYLD_INSERT_LIBRARIES" | |
| CONFIG["LIBPATHENV"] = "DYLD_FALLBACK_LIBRARY_PATH" | |
| CONFIG["RPATHFLAG"] = "" | |
| CONFIG["LIBPATHFLAG"] = " -L%s" | |
| CONFIG["LINK_SO"] = "\n$(POSTLINK)" | |
| CONFIG["ASMEXT"] = "S" | |
| CONFIG["LIBEXT"] = "a" | |
| CONFIG["DLEXT2"] = "" | |
| CONFIG["DLEXT"] = "bundle" | |
| CONFIG["LDSHAREDXX"] = "$(CXX) -dynamic -bundle" | |
| CONFIG["LDSHARED"] = "$(CC) -dynamic -bundle" | |
| CONFIG["CCDLFLAGS"] = "-fno-common" | |
| CONFIG["STATIC"] = "" | |
| CONFIG["ARCH_FLAG"] = "" | |
| #CONFIG["DLDFLAGS"] = " -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/opt/vagrant/embedded/lib" | |
| CONFIG["DLDFLAGS"] = " -mmacosx-version-min=10.9 -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/opt/vagrant/embedded/lib" | |
| CONFIG["ALLOCA"] = "" | |
| CONFIG["MATHN"] = "yes" | |
| CONFIG["dsymutil"] = "dsymutil" | |
| CONFIG["codesign"] = "codesign" | |
| CONFIG["POSTLINK"] = "dsymutil $@; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' -f $@; }" | |
| CONFIG["WERRORFLAG"] = "-Werror" | |
| CONFIG["CHDIR"] = "cd -P" | |
| CONFIG["RMALL"] = "rm -fr" | |
| CONFIG["RMDIRS"] = "rmdir -p" | |
| CONFIG["RMDIR"] = "rmdir" | |
| CONFIG["CP"] = "cp" | |
| CONFIG["RM"] = "rm -f" | |
| CONFIG["PKG_CONFIG"] = "pkg-config" | |
| CONFIG["DOXYGEN"] = "" | |
| CONFIG["DOT"] = "" | |
| CONFIG["MAKEDIRS"] = "mkdir -p" | |
| CONFIG["MKDIR_P"] = "mkdir -p" | |
| CONFIG["INSTALL_DATA"] = "$(INSTALL) -m 644" | |
| CONFIG["INSTALL_SCRIPT"] = "$(INSTALL)" | |
| CONFIG["INSTALL_PROGRAM"] = "$(INSTALL)" | |
| CONFIG["SET_MAKE"] = "" | |
| CONFIG["LN_S"] = "ln -s" | |
| CONFIG["NM"] = "nm" | |
| CONFIG["DLLWRAP"] = "" | |
| CONFIG["WINDRES"] = "" | |
| CONFIG["OBJCOPY"] = ":" | |
| CONFIG["OBJDUMP"] = "objdump" | |
| CONFIG["ASFLAGS"] = "" | |
| CONFIG["AS"] = "as" | |
| CONFIG["ARFLAGS"] = "-no_warning_for_no_symbols -o " | |
| CONFIG["AR"] = "libtool -static" | |
| CONFIG["RANLIB"] = ":" | |
| CONFIG["try_header"] = "" | |
| CONFIG["CC_VERSION_MESSAGE"] = "Apple clang version 11.0.0 (clang-1100.0.33.8)\nTarget: x86_64-apple-darwin19.2.0\nThread model: posix\nInstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin" | |
| CONFIG["CC_VERSION"] = "$(CC) --version" | |
| CONFIG["MJIT_CC"] = "/usr/bin/clang" | |
| CONFIG["CSRCFLAG"] = "" | |
| CONFIG["COUTFLAG"] = "-o " | |
| CONFIG["OUTFLAG"] = "-o " | |
| CONFIG["CPPOUTFILE"] = "-o conftest.i" | |
| CONFIG["GNU_LD"] = "no" | |
| CONFIG["LD"] = "ld" | |
| CONFIG["GCC"] = "yes" | |
| CONFIG["EGREP"] = "/usr/bin/grep -E" | |
| CONFIG["GREP"] = "/usr/bin/grep" | |
| CONFIG["CPP"] = "$(CC) -E" | |
| #CONFIG["CXXFLAGS"] = "-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk" | |
| CONFIG["CXXFLAGS"] = "-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9" | |
| CONFIG["CXX"] = "clang++" | |
| CONFIG["OBJEXT"] = "o" | |
| #CONFIG["CPPFLAGS"] = "-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk -I/opt/vagrant/embedded/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)" | |
| CONFIG["CPPFLAGS"] = "-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9 -I/opt/vagrant/embedded/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)" | |
| #CONFIG["LDFLAGS"] = "-L. -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk -fstack-protector-strong -L/opt/vagrant/embedded/lib" | |
| CONFIG["LDFLAGS"] = "-L. -mmacosx-version-min=10.9 -fstack-protector-strong -L/opt/vagrant/embedded/lib" | |
| #CONFIG["CFLAGS"] = "-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9 -isysroot /Users/vagrant/SDKs/MacOSX10.9.sdk -fno-common -pipe" | |
| CONFIG["CFLAGS"] = "-I/opt/vagrant/embedded/include -mmacosx-version-min=10.9 -fno-common -pipe" | |
| CONFIG["CC"] = "clang" | |
| CONFIG["target_os"] = "darwin19" | |
| CONFIG["target_vendor"] = "apple" | |
| CONFIG["target_cpu"] = "x86_64" | |
| CONFIG["target"] = "x86_64-apple-darwin19" | |
| CONFIG["host_os"] = "darwin19.2.0" | |
| CONFIG["host_vendor"] = "apple" | |
| CONFIG["host_cpu"] = "x86_64" | |
| CONFIG["host"] = "x86_64-apple-darwin19.2.0" | |
| CONFIG["RUBY_VERSION_NAME"] = "$(RUBY_BASE_NAME)-$(ruby_version)" | |
| CONFIG["RUBYW_BASE_NAME"] = "rubyw" | |
| CONFIG["RUBY_BASE_NAME"] = "ruby" | |
| CONFIG["build_os"] = "darwin19.2.0" | |
| CONFIG["build_vendor"] = "apple" | |
| CONFIG["build_cpu"] = "x86_64" | |
| CONFIG["build"] = "x86_64-apple-darwin19.2.0" | |
| CONFIG["RUBY_API_VERSION"] = "$(MAJOR).$(MINOR)" | |
| CONFIG["RUBY_PROGRAM_VERSION"] = "2.6.6" | |
| CONFIG["HAVE_GIT"] = "yes" | |
| CONFIG["GIT"] = "git" | |
| CONFIG["cxxflags"] = "$(optflags) $(debugflags) $(warnflags)" | |
| CONFIG["cppflags"] = "" | |
| CONFIG["cflags"] = "$(optflags) $(debugflags) $(warnflags)" | |
| CONFIG["target_alias"] = "" | |
| CONFIG["host_alias"] = "" | |
| CONFIG["build_alias"] = "" | |
| CONFIG["LIBS"] = "" | |
| CONFIG["ECHO_T"] = "" | |
| CONFIG["ECHO_N"] = "" | |
| CONFIG["ECHO_C"] = "\\\\c" | |
| CONFIG["DEFS"] = "" | |
| CONFIG["mandir"] = "$(datarootdir)/man" | |
| CONFIG["localedir"] = "$(datarootdir)/locale" | |
| CONFIG["libdir"] = "$(exec_prefix)/lib" | |
| CONFIG["psdir"] = "$(docdir)" | |
| CONFIG["pdfdir"] = "$(docdir)" | |
| CONFIG["dvidir"] = "$(docdir)" | |
| CONFIG["htmldir"] = "$(docdir)" | |
| CONFIG["infodir"] = "$(datarootdir)/info" | |
| CONFIG["docdir"] = "$(datarootdir)/doc/$(PACKAGE)" | |
| CONFIG["oldincludedir"] = "$(SDKROOT)""/usr/include" | |
| CONFIG["includedir"] = "$(prefix)/include" | |
| CONFIG["runstatedir"] = "$(localstatedir)/run" | |
| CONFIG["localstatedir"] = "$(prefix)/var" | |
| CONFIG["sharedstatedir"] = "$(prefix)/com" | |
| CONFIG["sysconfdir"] = "$(prefix)/etc" | |
| CONFIG["datadir"] = "$(datarootdir)" | |
| CONFIG["datarootdir"] = "$(prefix)/share" | |
| CONFIG["libexecdir"] = "$(exec_prefix)/libexec" | |
| CONFIG["sbindir"] = "$(exec_prefix)/sbin" | |
| CONFIG["bindir"] = "$(exec_prefix)/bin" | |
| CONFIG["exec_prefix"] = "$(prefix)" | |
| CONFIG["PACKAGE_URL"] = "" | |
| CONFIG["PACKAGE_BUGREPORT"] = "" | |
| CONFIG["PACKAGE_STRING"] = "" | |
| CONFIG["PACKAGE_VERSION"] = "" | |
| CONFIG["PACKAGE_TARNAME"] = "" | |
| CONFIG["PACKAGE_NAME"] = "" | |
| CONFIG["PATH_SEPARATOR"] = ":" | |
| CONFIG["SHELL"] = "/bin/sh" | |
| CONFIG["UNICODE_VERSION"] = "12.1.0" | |
| CONFIG["UNICODE_EMOJI_VERSION"] = "12.0" | |
| CONFIG["SDKROOT"] = "#{ENV['SDKROOT']}" # don't run xcrun every time, usually useless. | |
| CONFIG["archdir"] = "$(rubyarchdir)" | |
| CONFIG["topdir"] = File.dirname(__FILE__) | |
| # Almost same with CONFIG. MAKEFILE_CONFIG has 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 = #{Config::MAKEFILE_CONFIG['prefix']} | |
| # exec_prefix = #{Config::MAKEFILE_CONFIG['exec_prefix']} | |
| # bindir = #{Config::MAKEFILE_CONFIG['bindir']} | |
| # END_OF_MAKEFILE | |
| # | |
| # => prefix = /usr/local | |
| # exec_prefix = $(prefix) | |
| # bindir = $(exec_prefix)/bin MAKEFILE_CONFIG = {} | |
| # | |
| # RbConfig.expand is used for resolving references like above in rbconfig. | |
| # | |
| # require 'rbconfig' | |
| # p Config.expand(Config::MAKEFILE_CONFIG["bindir"]) | |
| # # => "/usr/local/bin" | |
| MAKEFILE_CONFIG = {} | |
| CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup} | |
| # call-seq: | |
| # | |
| # RbConfig.expand(val) -> string | |
| # RbConfig.expand(val, config) -> string | |
| # | |
| # expands variable with given +val+ value. | |
| # | |
| # RbConfig.expand("$(bindir)") # => /home/foobar/all-ruby/ruby19x/bin | |
| def RbConfig::expand(val, config = CONFIG) | |
| newval = val.gsub(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) { | |
| var = $& | |
| if !(v = $1 || $2) | |
| '$' | |
| elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]] | |
| pat, sub = $1, $2 | |
| config[v] = false | |
| config[v] = RbConfig::expand(key, config) | |
| key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat | |
| key | |
| else | |
| var | |
| end | |
| } | |
| val.replace(newval) unless newval == val | |
| val | |
| end | |
| CONFIG.each_value do |val| | |
| RbConfig::expand(val) | |
| end | |
| # :nodoc: | |
| # call-seq: | |
| # | |
| # RbConfig.fire_update!(key, val) -> string | |
| # RbConfig.fire_update!(key, val, mkconf, conf) -> string | |
| # | |
| # updates +key+ in +mkconf+ with +val+, and all values depending on | |
| # the +key+ in +mkconf+. | |
| # | |
| # 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. | |
| def RbConfig.fire_update!(key, val, mkconf = MAKEFILE_CONFIG, conf = CONFIG) | |
| return if (old = mkconf[key]) == val | |
| mkconf[key] = val | |
| keys = [key] | |
| deps = [] | |
| begin | |
| re = Regexp.new("\\$\\((?:%1$s)\\)|\\$\\{(?:%1$s)\\}" % keys.join('|')) | |
| deps |= keys | |
| keys.clear | |
| mkconf.each {|k,v| keys << k if re =~ v} | |
| end until keys.empty? | |
| deps.each {|k| conf[k] = mkconf[k].dup} | |
| deps.each {|k| expand(conf[k])} | |
| deps | |
| end | |
| # call-seq: | |
| # | |
| # RbConfig.ruby -> path | |
| # | |
| # returns the absolute pathname of the ruby command. | |
| def RbConfig.ruby | |
| File.join( | |
| RbConfig::CONFIG["bindir"], | |
| RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"] | |
| ) | |
| end | |
| end | |
| CROSS_COMPILING = nil unless defined? CROSS_COMPILING |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment