Skip to content

Instantly share code, notes, and snippets.

@fd00
Created December 9, 2022 13:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fd00/937dba8fce80a5059846a68f16f51ec5 to your computer and use it in GitHub Desktop.
Save fd00/937dba8fce80a5059846a68f16f51ec5 to your computer and use it in GitHub Desktop.
ruby.wasm rbconfig
$ wasm3 ./myruby.wasm -e 'require "rbconfig"; pp RbConfig::CONFIG'
{"DESTDIR"=>"",
"MAJOR"=>"3",
"MINOR"=>"2",
"TEENY"=>"0",
"PATCHLEVEL"=>"-1",
"INSTALL"=>"/usr/bin/install -c",
"EXEEXT"=>"",
"prefix"=>"/usr/local",
"ruby_install_name"=>"ruby",
"RUBY_INSTALL_NAME"=>"ruby",
"RUBY_SO_NAME"=>"ruby",
"exec"=>"exec",
"ruby_pc"=>"ruby-3.2.pc",
"CC_WRAPPER"=>"",
"PACKAGE"=>"ruby",
"BUILTIN_TRANSSRCS"=>" enc/trans/newline.c",
"MKMF_VERBOSE"=>"0",
"MANTYPE"=>"man",
"vendorarchhdrdir"=>"/usr/local/include/ruby-3.2.0+3/vendor_ruby/wasm32-wasi",
"sitearchhdrdir"=>"/usr/local/include/ruby-3.2.0+3/site_ruby/wasm32-wasi",
"rubyarchhdrdir"=>"/usr/local/include/ruby-3.2.0+3/wasm32-wasi",
"vendorhdrdir"=>"/usr/local/include/ruby-3.2.0+3/vendor_ruby",
"sitehdrdir"=>"/usr/local/include/ruby-3.2.0+3/site_ruby",
"rubyhdrdir"=>"/usr/local/include/ruby-3.2.0+3",
"RUBY_SEARCH_PATH"=>"",
"UNIVERSAL_INTS"=>"",
"UNIVERSAL_ARCHNAMES"=>"",
"configure_args"=>
" '--host' 'wasm32-wasi' '--build' 'x86_64-pc-linux-gnu' '--with-static-linked-ext' '--with-ext=bigdecimal,cgi/escape,continuation,coverage,date,dbm,digest/bubblebabble,digest,digest/md5,digest/rmd160,digest/sha1,digest/sha2,etc,fcntl,fiber,gdbm,json,json/generator,json/parser,nkf,objspace,pathname,psych,racc/cparse,rbconfig/sizeof,ripper,stringio,strscan,monitor,zlib' '--with-libyaml-dir=/home/me/build/build/wasm32-unknown-wasi/yaml-0.2.5/opt/usr/local' '--with-zlib-dir=/home/me/build/build/wasm32-unknown-wasi/zlib-1.2.13/opt/usr/local' '--with-baseruby=/home/me/build/build/x86_64-pc-linux-gnu/baseruby-head/opt/bin/ruby' 'WASMOPT=/opt/binaryen/bin/wasm-opt' 'CC=/opt/wasi-sdk/bin/clang' 'LD=/opt/wasi-sdk/bin/clang' 'AR=/opt/wasi-sdk/bin/llvm-ar' 'RANLIB=/opt/wasi-sdk/bin/llvm-ranlib' 'LDFLAGS=-Xlinker -zstack-size=16777216' 'XLDFLAGS=/opt/wasi-vfs/lib/libwasi_vfs.a /home/me/build/build/wasm32-unknown-wasi/head-wasm32-unknown-wasi-full-ext/extinit.o' 'XCFLAGS=-DWASM_SETJMP_STACK_BUFFER_SIZE=24576 -DWASM_FIBER_STACK_BUFFER_SIZE=24576 -DWASM_SCAN_STACK_BUFFER_SIZE=24576' 'debugflags=-g0' 'cppflags=' '--disable-install-doc' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=wasm32-wasi'",
"CONFIGURE"=>"configure",
"vendorarchdir"=>"/usr/local/lib/ruby/vendor_ruby/3.2.0+3/wasm32-wasi",
"vendorlibdir"=>"/usr/local/lib/ruby/vendor_ruby/3.2.0+3",
"vendordir"=>"/usr/local/lib/ruby/vendor_ruby",
"sitearchdir"=>"/usr/local/lib/ruby/site_ruby/3.2.0+3/wasm32-wasi",
"sitelibdir"=>"/usr/local/lib/ruby/site_ruby/3.2.0+3",
"sitedir"=>"/usr/local/lib/ruby/site_ruby",
"rubyarchdir"=>"/usr/local/lib/ruby/3.2.0+3/wasm32-wasi",
"rubylibdir"=>"/usr/local/lib/ruby/3.2.0+3",
"ruby_version"=>"3.2.0+3",
"sitearch"=>"wasm32-wasi",
"arch"=>"wasm32-wasi",
"sitearchincludedir"=>"/usr/local/include/wasm32-wasi",
"archincludedir"=>"/usr/local/include/wasm32-wasi",
"sitearchlibdir"=>"/usr/local/lib/wasm32-wasi",
"archlibdir"=>"/usr/local/lib/wasm32-wasi",
"libdirname"=>"libdir",
"RUBY_EXEC_PREFIX"=>"/usr/local",
"RUBY_LIB_VERSION"=>"",
"RUBY_LIB_VERSION_STYLE"=>"3\t/* full */",
"RI_BASE_NAME"=>"ri",
"ridir"=>"/usr/local/share/ri",
"rubysitearchprefix"=>"/usr/local/lib/ruby/wasm32-wasi",
"rubyarchprefix"=>"/usr/local/lib/ruby/wasm32-wasi",
"MAKEFILES"=>"Makefile GNUmakefile",
"PLATFORM_DIR"=>"wasm",
"COROUTINE_TYPE"=>"asyncify",
"THREAD_MODEL"=>"none",
"SYMBOL_PREFIX"=>"",
"EXPORT_PREFIX"=>"",
"COMMON_HEADERS"=>"",
"COMMON_MACROS"=>"",
"COMMON_LIBS"=>"",
"MAINLIBS"=>
"-lcrypt -lm -lwasi-emulated-mman -lwasi-emulated-signal -lwasi-emulated-getpid -lwasi-emulated-process-clocks ",
"ENABLE_SHARED"=>"no",
"DLDSHARED"=>"/opt/wasi-sdk/bin/clang",
"DLDLIBS"=>"-lc",
"SOLIBS"=>
"-lcrypt -lm -lwasi-emulated-mman -lwasi-emulated-signal -lwasi-emulated-getpid -lwasi-emulated-process-clocks ",
"LIBRUBYARG_SHARED"=>"",
"LIBRUBYARG_STATIC"=>
"-lruby-static -lcrypt -lm -lwasi-emulated-mman -lwasi-emulated-signal -lwasi-emulated-getpid -lwasi-emulated-process-clocks ",
"LIBRUBYARG"=>
"-lruby-static -lcrypt -lm -lwasi-emulated-mman -lwasi-emulated-signal -lwasi-emulated-getpid -lwasi-emulated-process-clocks ",
"LIBRUBY"=>"libruby-static.a",
"LIBRUBY_ALIASES"=>"libruby.so",
"LIBRUBY_SONAME"=>"libruby.so.3.2",
"LIBRUBY_SO"=>"libruby.so.3.2.0",
"LIBRUBY_A"=>"libruby-static.a",
"RUBYW_INSTALL_NAME"=>"",
"rubyw_install_name"=>"",
"EXTDLDFLAGS"=>"",
"EXTLDFLAGS"=>"",
"strict_warnflags"=>"",
"warnflags"=>
"-Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -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 -Wundef",
"debugflags"=>"-g0",
"optflags"=>"-O3 -fno-fast-math",
"NULLCMD"=>":",
"ENABLE_DEBUG_ENV"=>"",
"DLNOBJ"=>"dln.o",
"INSTALL_STATIC_LIBRARY"=>"yes",
"YJIT_OBJ"=>"",
"YJIT_LIBS"=>"",
"CARGO_BUILD_ARGS"=>"",
"YJIT_SUPPORT"=>"no",
"CARGO"=>"",
"RUSTC"=>"no",
"MJIT_SUPPORT"=>"no",
"EXECUTABLE_EXTS"=>"",
"ARCHFILE"=>"",
"LIBRUBY_RELATIVE"=>"no",
"EXTOUT"=>".ext",
"PREP"=>"wasm32-wasi-fake.rb",
"CROSS_COMPILING"=>"yes",
"TEST_RUNNABLE"=>"no",
"rubylibprefix"=>"/usr/local/lib/ruby",
"setup"=>"Setup",
"SOEXT"=>"so",
"TRY_LINK"=>"",
"PRELOADENV"=>"LD_PRELOAD",
"LIBPATHENV"=>"LD_LIBRARY_PATH",
"RPATHFLAG"=>"",
"LIBPATHFLAG"=>" -L%s",
"LINK_SO"=>"",
"ADDITIONAL_DLDFLAGS"=>"",
"ENCSTATIC"=>"static",
"EXTSTATIC"=>"static",
"ASMEXT"=>"S",
"LIBEXT"=>"a",
"DLEXT"=>"so",
"LDSHAREDXX"=>"",
"LDSHARED"=>"/opt/wasi-sdk/bin/clang",
"CCDLFLAGS"=>"-fPIC",
"STATIC"=>"",
"ARCH_FLAG"=>"",
"DLDFLAGS"=>"-Xlinker -zstack-size=16777216",
"ALLOCA"=>"",
"dsymutil"=>"",
"codesign"=>"",
"cleanlibs"=>"",
"POSTLINK"=>
"/opt/binaryen/bin/wasm-opt --asyncify -O3 --pass-arg=asyncify-ignore-imports -o $@ $@; :",
"WERRORFLAG"=>"-Werror",
"RUBY_DEVEL"=>"",
"CHDIR"=>"cd -P",
"RMALL"=>"rm -fr",
"RMDIRS"=>"rmdir --ignore-fail-on-non-empty -p",
"RMDIR"=>"rmdir --ignore-fail-on-non-empty",
"CP"=>"cp",
"RM"=>"rm -f",
"PKG_CONFIG"=>"",
"DOXYGEN"=>"",
"DOT"=>"",
"MKDIR_P"=>"/bin/mkdir -p",
"INSTALL_DATA"=>"/usr/bin/install -c -m 644",
"INSTALL_SCRIPT"=>"/usr/bin/install -c",
"INSTALL_PROGRAM"=>"/usr/bin/install -c",
"SET_MAKE"=>"",
"LN_S"=>"ln -s",
"DLLWRAP"=>"",
"WINDRES"=>"",
"ASFLAGS"=>"",
"ARFLAGS"=>"rcD ",
"try_header"=>"",
"CC_VERSION_MESSAGE"=>
"clang version 13.0.0 (https://github.com/llvm/llvm-project fd1d8c2f04dde23bee0fb3a7d069a9b1046da979)\n" +
"Target: wasm32-unknown-wasi\n" +
"Thread model: posix\n" +
"InstalledDir: /opt/wasi-sdk/bin",
"CC_VERSION"=>" /opt/wasi-sdk/bin/clang --version",
"MJIT_CC"=>"/opt/wasi-sdk/bin/clang",
"CSRCFLAG"=>"",
"COUTFLAG"=>"-o ",
"OUTFLAG"=>"-o ",
"CPPOUTFILE"=>"-o conftest.i",
"GNU_LD"=>"yes",
"GCC"=>"yes",
"EGREP"=>"/bin/grep -E",
"GREP"=>"/bin/grep",
"CPP"=>" /opt/wasi-sdk/bin/clang -E",
"CXXFLAGS"=>"",
"OBJEXT"=>"o",
"CPPFLAGS"=>
"-D_WASI_EMULATED_SIGNAL -D_WASI_EMULATED_MMAN -D_WASI_EMULATED_GETPID -D_WASI_EMULATED_PROCESS_CLOCKS ",
"LDFLAGS"=>"-L. -Xlinker -zstack-size=16777216",
"CFLAGS"=>
"-fdeclspec -O3 -fno-fast-math -g0 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -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 -Wundef -D_WASI_EMULATED_SIGNAL -D_WASI_EMULATED_MMAN -D_WASI_EMULATED_GETPID -D_WASI_EMULATED_PROCESS_CLOCKS",
"STRIP"=>"strip",
"RANLIB"=>"/opt/wasi-sdk/bin/llvm-ranlib",
"OBJDUMP"=>"objdump",
"OBJCOPY"=>":",
"NM"=>"nm",
"LD"=>"/opt/wasi-sdk/bin/clang",
"CXX"=>"g++",
"AS"=>"as",
"AR"=>"/opt/wasi-sdk/bin/llvm-ar",
"CC"=>" /opt/wasi-sdk/bin/clang",
"wasmoptflags"=>"-O3",
"WASMOPT"=>"/opt/binaryen/bin/wasm-opt",
"target_os"=>"wasi",
"target_vendor"=>"unknown",
"target_cpu"=>"wasm32",
"target"=>"wasm32-unknown-wasi",
"host_os"=>"wasi",
"host_vendor"=>"unknown",
"host_cpu"=>"wasm32",
"host"=>"wasm32-unknown-wasi",
"build_os"=>"linux-gnu",
"build_vendor"=>"pc",
"build_cpu"=>"x86_64",
"build"=>"x86_64-pc-linux-gnu",
"RUBY_VERSION_NAME"=>"ruby-3.2.0+3",
"RUBYW_BASE_NAME"=>"rubyw",
"RUBY_BASE_NAME"=>"ruby",
"RUBY_PROGRAM_VERSION"=>"3.2.0",
"RUBY_API_VERSION"=>"3.2",
"HAVE_GIT"=>"yes",
"GIT"=>"git",
"cxxflags"=>"",
"cppflags"=>"",
"cflags"=>
"-fdeclspec -O3 -fno-fast-math -g0 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -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 -Wundef",
"MAKEDIRS"=>"/bin/mkdir -p",
"target_alias"=>"",
"host_alias"=>"",
"build_alias"=>"x86_64-pc-linux-gnu",
"LIBS"=>
"-lm -lwasi-emulated-mman -lwasi-emulated-signal -lwasi-emulated-getpid -lwasi-emulated-process-clocks ",
"ECHO_T"=>"",
"ECHO_N"=>"-n",
"ECHO_C"=>"",
"DEFS"=>"",
"mandir"=>"/usr/local/share/man",
"localedir"=>"/usr/local/share/locale",
"libdir"=>"/usr/local/lib",
"psdir"=>"/usr/local/share/doc/ruby",
"pdfdir"=>"/usr/local/share/doc/ruby",
"dvidir"=>"/usr/local/share/doc/ruby",
"htmldir"=>"/usr/local/share/doc/ruby",
"infodir"=>"/usr/local/share/info",
"docdir"=>"/usr/local/share/doc/ruby",
"oldincludedir"=>"/usr/include",
"includedir"=>"/usr/local/include",
"runstatedir"=>"/usr/local/var/run",
"localstatedir"=>"/usr/local/var",
"sharedstatedir"=>"/usr/local/com",
"sysconfdir"=>"/usr/local/etc",
"datadir"=>"/usr/local/share",
"datarootdir"=>"/usr/local/share",
"libexecdir"=>"/usr/local/libexec",
"sbindir"=>"/usr/local/sbin",
"bindir"=>"/usr/local/bin",
"exec_prefix"=>"/usr/local",
"PACKAGE_URL"=>"",
"PACKAGE_BUGREPORT"=>"",
"PACKAGE_STRING"=>"",
"PACKAGE_VERSION"=>"",
"PACKAGE_TARNAME"=>"",
"PACKAGE_NAME"=>"",
"PATH_SEPARATOR"=>":",
"SHELL"=>"/bin/bash",
"UNICODE_VERSION"=>"15.0.0",
"UNICODE_EMOJI_VERSION"=>"15.0",
"platform"=>"wasm32-wasi",
"archdir"=>"/usr/local/lib/ruby/3.2.0+3/wasm32-wasi",
"topdir"=>"/usr/local/lib/ruby/3.2.0+3/wasm32-wasi"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment