--- ./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