# 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.10) doesn't match executable version (#{RUBY_VERSION})" # Ruby installed directory. TOPDIR = File.dirname(__FILE__).chomp!("/lib/ruby/2.6.0/universal-darwin25") # DESTDIR on make install. DESTDIR = '' unless defined? DESTDIR arch_flag = ENV['ARCHFLAGS'] || ((e = ENV['RC_ARCHS']) && e.split.uniq.map {|a| "-arch #{a}"}.join(' ')) universal = " arm64e=arm64e x86_64=x86_64" arch = 'arm64' == `uname -m`.strip ? 'aarch64' : 'x86_64' # The hash configurations stored. CONFIG = {} CONFIG["DESTDIR"] = DESTDIR CONFIG["MAJOR"] = "2" CONFIG["MINOR"] = "6" CONFIG["TEENY"] = "10" CONFIG["PATCHLEVEL"] = "210" CONFIG["INSTALL"] = '/usr/bin/install -c' CONFIG["EXEEXT"] = "" CONFIG["prefix"] = (TOPDIR || DESTDIR + "/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr") 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"] = "'long long' long int short" CONFIG["UNIVERSAL_ARCHNAMES"] = universal CONFIG["configure_args"] = " '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--prefix=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr' '--sysconfdir=/Library/Ruby/Site' '--with-sitedir=/Library/Ruby/Site' '--enable-shared' '--with-arch=arm64e,x86_64' '--with-openssl-dir=/AppleInternal/Library/BuildRoots/4~CJjgugCJ4ENyM-QIheSyiY0FNL8vspelLyB3fTk/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.Internal.sdk/usr/local/libressl-by-deployment-target/14.0' '--without-ext=tk' '--disable-silent-rules' 'ac_cv_func_getcontext=no' 'ac_cv_func_setcontext=no' 'ac_cv_func_utimensat=no' 'ac_cv_c_compiler_gnu=no' 'ac_cv_header_net_if_h=yes' 'av_cv_header_ifaddrs_h=yes' 'rb_cv_pri_prefix_long_long=ll' 'rb_cv_stack_grow_dir_arm64e=-1' 'ac_cv_sizeof_struct_stat_st_size=SIZEOF_OFF_T' 'ac_cv_sizeof_struct_stat_st_blocks=SIZEOF_INT64_T' 'ac_cv_sizeof_struct_stat_st_ino=SIZEOF_UINT64_T' 'CC=/AppleInternal/Library/BuildRoots/4~CJjgugCJ4ENyM-QIheSyiY0FNL8vspelLyB3fTk/Applications/Xcode.app/Contents/Developer/Toolchains/OSX26.4.xctoolchain/usr/bin/cc' 'CFLAGS=-arch arm64e -arch x86_64 -g -Os -pipe -DHAVE_GCC_ATOMIC_BUILTINS -fno-typed-memory-operations -fno-typed-cxx-new-delete -DUSE_FFI_CLOSURE_ALLOC' 'LDFLAGS=-arch arm64e -arch x86_64 ' 'CXX=/AppleInternal/Library/BuildRoots/4~CJjgugCJ4ENyM-QIheSyiY0FNL8vspelLyB3fTk/Applications/Xcode.app/Contents/Developer/Toolchains/OSX26.4.xctoolchain/usr/bin/c++' 'CXXFLAGS=-arch arm64e -arch x86_64 -g -Os -pipe '" 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"] = "$(DESTDIR)/Library/Ruby/Site" CONFIG["rubyarchdir"] = "$(rubylibdir)/$(arch)" CONFIG["rubylibdir"] = "$(rubylibprefix)/$(ruby_version)" CONFIG["ruby_version"] = "2.6.0" CONFIG["sitearch"] = "$(arch)" CONFIG["arch"] = "universal-darwin25" CONFIG["sitearchincludedir"] = "$(includedir)/$(sitearch)" CONFIG["archincludedir"] = "$(includedir)/$(arch)" CONFIG["sitearchlibdir"] = "$(libdir)/$(sitearch)" CONFIG["archlibdir"] = "$(libdir)/$(arch)" CONFIG["libdirname"] = "libdir" CONFIG["RUBY_EXEC_PREFIX"] = "/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr" 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"] = "" CONFIG["debugflags"] = "-g" CONFIG["optflags"] = "" 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"] = "no" CONFIG["EXTOUT"] = ".ext" CONFIG["PREP"] = "miniruby$(EXEEXT)" 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"] = "" CONFIG["STATIC"] = "" CONFIG["ARCH_FLAG"] = arch_flag || "" CONFIG["DLDFLAGS"] = "$(ARCH_FLAG) -undefined dynamic_lookup" 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"] = "" 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"] = "" 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"] = "try_compile" CONFIG["CC_VERSION_MESSAGE"] = "Apple clang version 21.0.0 (clang-2100.0.123.2) [+internal-os]\nTarget: x86_64-apple-darwin23.0.0\nThread model: posix\nInstalledDir: /AppleInternal/Library/BuildRoots/4~CJjgugCJ4ENyM-QIheSyiY0FNL8vspelLyB3fTk/Applications/Xcode.app/Contents/Developer/Toolchains/OSX26.4.xctoolchain/usr/bin" CONFIG["CC_VERSION"] = "$(CC) --version" CONFIG["MJIT_CC"] = "/AppleInternal/Library/BuildRoots/4~CJjgugCJ4ENyM-QIheSyiY0FNL8vspelLyB3fTk/Applications/Xcode.app/Contents/Developer/Toolchains/OSX26.4.xctoolchain/usr/bin/cc" CONFIG["CSRCFLAG"] = "" CONFIG["COUTFLAG"] = "-o " CONFIG["OUTFLAG"] = "-o " CONFIG["CPPOUTFILE"] = "-o conftest.i" CONFIG["GNU_LD"] = "no" CONFIG["LD"] = "ld" CONFIG["GCC"] = "" CONFIG["EGREP"] = "/usr/bin/grep -E" CONFIG["GREP"] = "/usr/bin/grep" CONFIG["CPP"] = "$(CC) -E" CONFIG["CXXFLAGS"] = " -g -Os -pipe " CONFIG["CXX"] = "xcrun clang++" CONFIG["OBJEXT"] = "o" CONFIG["CPPFLAGS"] = "-D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)" CONFIG["LDFLAGS"] = "-L. -L/AppleInternal/Library/BuildRoots/4~CJjgugCJ4ENyM-QIheSyiY0FNL8vspelLyB3fTk/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.Internal.sdk/usr/local/lib" CONFIG["CFLAGS"] = " -g -Os -pipe -DHAVE_GCC_ATOMIC_BUILTINS -fno-typed-memory-operations -fno-typed-cxx-new-delete -DUSE_FFI_CLOSURE_ALLOC" CONFIG["CC"] = "xcrun clang" CONFIG["target_os"] = "darwin25" CONFIG["target_vendor"] = "apple" CONFIG["target_cpu"] = "universal" CONFIG["target"] = "universal-apple-darwin25" CONFIG["host_os"] = "darwin25" CONFIG["host_vendor"] = "apple" CONFIG["host_cpu"] = arch CONFIG["host"] = arch + "-" + CONFIG["host_vendor"] + "-" + CONFIG["host_os"] CONFIG["RUBY_VERSION_NAME"] = "$(RUBY_BASE_NAME)-$(ruby_version)" CONFIG["RUBYW_BASE_NAME"] = "rubyw" CONFIG["RUBY_BASE_NAME"] = "ruby" CONFIG["build_os"] = "darwin25" CONFIG["build_vendor"] = "apple" CONFIG["build_cpu"] = "x86_64" CONFIG["build"] = "x86_64-apple-darwin25" CONFIG["RUBY_API_VERSION"] = "$(MAJOR).$(MINOR)" CONFIG["RUBY_PROGRAM_VERSION"] = "2.6.10" 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"] = "$(DESTDIR)/usr/share/man" CONFIG["localedir"] = "$(datarootdir)/locale" CONFIG["libdir"] = "$(exec_prefix)/lib" CONFIG["psdir"] = "$(docdir)" CONFIG["pdfdir"] = "$(docdir)" CONFIG["dvidir"] = "$(docdir)" CONFIG["htmldir"] = "$(docdir)" CONFIG["infodir"] = "$(DESTDIR)/usr/share/info" CONFIG["docdir"] = "$(datarootdir)/doc/$(PACKAGE)" CONFIG["oldincludedir"] = "/usr/include" CONFIG["includedir"] = (ENV['SDKROOT'] || (File.exist?(File.join(CONFIG['prefix'],'include')) ? '' : %x(xcode-select --print-path >/dev/null 2>&1 && xcrun --sdk macosx --show-sdk-path 2>/dev/null).chomp)) + "$(prefix)/include" CONFIG["runstatedir"] = "$(localstatedir)/run" CONFIG["localstatedir"] = "$(prefix)/var" CONFIG["sharedstatedir"] = "$(prefix)/com" CONFIG["sysconfdir"] = "$(DESTDIR)/Library/Ruby/Site" 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 RUBY_FRAMEWORK = true RUBY_FRAMEWORK_VERSION = RbConfig::CONFIG['ruby_version'] APPLE_GEM_HOME = File.join(RbConfig::CONFIG['libdir'], 'ruby/gems', RbConfig::CONFIG['ruby_version'])