--- ./build_config.rb.orig	2020-08-22 20:48:12.000000000 -0400
+++ ./build_config.rb	2020-08-22 23:13:37.000000000 -0400
@@ -1,9 +1,11 @@
 MRuby::Build.new do |conf|
   # load specific toolchain settings
 
-  # Gets set by the VS command prompts.
-  if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
-    toolchain :visualcpp
+  cc_command = ENV['CC']
+
+  # Set the toolchain off of CC
+  if cc_command.include? "clang"
+    toolchain :clang
   else
     toolchain :gcc
   end
@@ -22,18 +24,19 @@
   # conf.gem :github => 'mattn/mruby-onig-regexp'
   # conf.gem :git => 'git@github.com:mattn/mruby-onig-regexp.git', :branch => 'master', :options => '-v'
 
-  # include the default GEMs
-  conf.gembox 'default'
+  # include all GEMs
+  conf.gembox 'full-core'
+
   # C compiler settings
-  # conf.cc do |cc|
-  #   cc.command = ENV['CC'] || 'gcc'
-  #   cc.flags = [ENV['CFLAGS'] || %w()]
-  #   cc.include_paths = ["#{root}/include"]
-  #   cc.defines = %w()
-  #   cc.option_include_path = %q[-I"%s"]
-  #   cc.option_define = '-D%s'
-  #   cc.compile_options = %Q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
-  # end
+  conf.cc do |cc|
+    cc.command = ENV['CC'] || 'gcc'
+    cc.flags = [ENV['CFLAGS'] || %w()]
+    cc.include_paths = ["#{root}/include"]
+    cc.defines = %w()
+    cc.option_include_path = %q[-I"%s"]
+    cc.option_define = '-D%s'
+    cc.compile_options = %Q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
+  end
 
   # mrbc settings
   # conf.mrbc do |mrbc|
@@ -41,29 +44,29 @@
   # end
 
   # Linker settings
-  # conf.linker do |linker|
-  #   linker.command = ENV['LD'] || 'gcc'
-  #   linker.flags = [ENV['LDFLAGS'] || []]
-  #   linker.flags_before_libraries = []
-  #   linker.libraries = %w()
-  #   linker.flags_after_libraries = []
-  #   linker.library_paths = []
-  #   linker.option_library = '-l%s'
-  #   linker.option_library_path = '-L%s'
-  #   linker.link_options = "%{flags} -o "%{outfile}" %{objs} %{libs}"
-  # end
+  conf.linker do |linker|
+    linker.command = ENV['LD'] || 'gcc'
+    linker.flags = [ENV['LDFLAGS'] || []]
+    linker.flags_before_libraries = []
+    linker.libraries = %w()
+    linker.flags_after_libraries = []
+    linker.library_paths = []
+    linker.option_library = '-l%s'
+    linker.option_library_path = '-L%s'
+    linker.link_options = '%{flags} -o "%{outfile}" %{objs} %{libs}'
+  end
 
   # Archiver settings
-  # conf.archiver do |archiver|
-  #   archiver.command = ENV['AR'] || 'ar'
-  #   archiver.archive_options = 'rs "%{outfile}" %{objs}'
-  # end
+  conf.archiver do |archiver|
+    archiver.command = ENV['AR'] || 'ar'
+    archiver.archive_options = 'rs "%{outfile}" %{objs}'
+  end
 
   # Parser generator settings
-  # conf.yacc do |yacc|
-  #   yacc.command = ENV['YACC'] || 'bison'
-  #   yacc.compile_options = %q[-o "%{outfile}" "%{infile}"]
-  # end
+  conf.yacc do |yacc|
+    yacc.command = ENV['YACC'] || 'bison'
+    yacc.compile_options = %q[-o "%{outfile}" "%{infile}"]
+  end
 
   # gperf settings
   # conf.gperf do |gperf|
@@ -84,69 +87,3 @@
   # bintest
   # conf.enable_bintest
 end
-
-MRuby::Build.new('host-debug') do |conf|
-  # load specific toolchain settings
-
-  # Gets set by the VS command prompts.
-  if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
-    toolchain :visualcpp
-  else
-    toolchain :gcc
-  end
-
-  enable_debug
-
-  # include the default GEMs
-  conf.gembox 'default'
-
-  # C compiler settings
-  conf.cc.defines = %w(MRB_ENABLE_DEBUG_HOOK)
-
-  # Generate mruby debugger command (require mruby-eval)
-  conf.gem :core => "mruby-bin-debugger"
-
-  # bintest
-  # conf.enable_bintest
-end
-
-MRuby::Build.new('test') do |conf|
-  # Gets set by the VS command prompts.
-  if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
-    toolchain :visualcpp
-  else
-    toolchain :gcc
-  end
-
-  enable_debug
-  conf.enable_bintest
-  conf.enable_test
-
-  conf.gembox 'default'
-end
-
-#MRuby::Build.new('bench') do |conf|
-#  # Gets set by the VS command prompts.
-#  if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
-#    toolchain :visualcpp
-#  else
-#    toolchain :gcc
-#    conf.cc.flags << '-O3'
-#  end
-#
-#  conf.gembox 'default'
-#end
-
-# Define cross build settings
-# MRuby::CrossBuild.new('32bit') do |conf|
-#   toolchain :gcc
-#
-#   conf.cc.flags << "-m32"
-#   conf.linker.flags << "-m32"
-#
-#   conf.build_mrbtest_lib_only
-#
-#   conf.gem 'examples/mrbgems/c_and_ruby_extension_example'
-#
-#   conf.test_runner.command = 'env'
-# end
