diff --git a/Rakefile b/Rakefile index ce3da1d9a9..6ccdcd9587 100644 --- a/Rakefile +++ b/Rakefile @@ -14,7 +14,8 @@ require "mruby-core-ext" require "mruby/build" # load configuration file -MRUBY_CONFIG = (ENV['MRUBY_CONFIG'] && ENV['MRUBY_CONFIG'] != '') ? ENV['MRUBY_CONFIG'] : "#{MRUBY_ROOT}/build_config.rb" +MRUBY_TARGET = ENV['MRUBY_TARGET'] || ENV['TARGET'] || "host" +MRUBY_CONFIG = "#{MRUBY_ROOT}/target/#{MRUBY_TARGET}.rb" load MRUBY_CONFIG # load basic rules diff --git a/lib/mruby/lockfile.rb b/lib/mruby/lockfile.rb index 0d2455b4c4..ee16e2ad8b 100644 --- a/lib/mruby/lockfile.rb +++ b/lib/mruby/lockfile.rb @@ -26,7 +26,7 @@ def write end def instance - @instance ||= new("#{MRUBY_CONFIG}.lock") + @instance ||= new("#{MRUBY_ROOT}/build/#{MRUBY_TARGET}.lock") end end diff --git a/examples/targets/build_config_ArduinoDue.rb b/target/ArduinoDue.rb similarity index 100% rename from examples/targets/build_config_ArduinoDue.rb rename to target/ArduinoDue.rb diff --git a/examples/targets/build_config_IntelEdison.rb b/target/IntelEdison.rb similarity index 100% rename from examples/targets/build_config_IntelEdison.rb rename to target/IntelEdison.rb diff --git a/examples/targets/build_config_IntelGalileo.rb b/target/IntelGalileo.rb similarity index 100% rename from examples/targets/build_config_IntelGalileo.rb rename to target/IntelGalileo.rb diff --git a/examples/targets/build_config_RX630.rb b/target/RX630.rb similarity index 100% rename from examples/targets/build_config_RX630.rb rename to target/RX630.rb diff --git a/examples/targets/build_config_android_arm64-v8a.rb b/target/android_arm64-v8a.rb similarity index 100% rename from examples/targets/build_config_android_arm64-v8a.rb rename to target/android_arm64-v8a.rb diff --git a/examples/targets/build_config_android_armeabi.rb b/target/android_armeabi.rb similarity index 100% rename from examples/targets/build_config_android_armeabi.rb rename to target/android_armeabi.rb diff --git a/examples/targets/build_config_android_armeabi_v7a_neon_hard.rb b/target/android_armeabi_v7a_neon_hard.rb similarity index 100% rename from examples/targets/build_config_android_armeabi_v7a_neon_hard.rb rename to target/android_armeabi_v7a_neon_hard.rb diff --git a/appveyor_config.rb b/target/appveyor.rb similarity index 100% rename from appveyor_config.rb rename to target/appveyor.rb diff --git a/target/bench.rb b/target/bench.rb new file mode 100644 index 0000000000..30ec56ad3c --- /dev/null +++ b/target/bench.rb @@ -0,0 +1,11 @@ +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 diff --git a/examples/targets/build_config_chipKITMax32.rb b/target/chipKITMax32.rb similarity index 100% rename from examples/targets/build_config_chipKITMax32.rb rename to target/chipKITMax32.rb diff --git a/target/cross-32bit.rb b/target/cross-32bit.rb new file mode 100644 index 0000000000..310ffc833a --- /dev/null +++ b/target/cross-32bit.rb @@ -0,0 +1,13 @@ +# 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 diff --git a/examples/targets/build_config_dreamcast_shelf.rb b/target/dreamcast_shelf.rb similarity index 100% rename from examples/targets/build_config_dreamcast_shelf.rb rename to target/dreamcast_shelf.rb diff --git a/target/host-debug.rb b/target/host-debug.rb new file mode 100644 index 0000000000..4e89d162c7 --- /dev/null +++ b/target/host-debug.rb @@ -0,0 +1,24 @@ +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 'full-core' + + # 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 diff --git a/build_config.rb b/target/host.rb similarity index 70% rename from build_config.rb rename to target/host.rb index 254a28ce01..4f02868823 100644 --- a/build_config.rb +++ b/target/host.rb @@ -8,9 +8,6 @@ toolchain :gcc end - # Turn on `enable_debug` for better debugging - # enable_debug - # Use mrbgems # conf.gem 'examples/mrbgems/ruby_extension_example' # conf.gem 'examples/mrbgems/c_extension_example' do |g| @@ -22,8 +19,9 @@ # 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 the GEM box + conf.gembox 'full-core' + # C compiler settings # conf.cc do |cc| # cc.command = ENV['CC'] || 'gcc' @@ -81,33 +79,11 @@ # file separetor # conf.file_separator = '/' - # 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 - + # Turn on `enable_debug` for better debugging + # enable_debug 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 + conf.enable_bintest + conf.enable_test end MRuby::Build.new('test') do |conf| @@ -118,35 +94,5 @@ 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 diff --git a/travis_config.rb b/target/travis.rb similarity index 100% rename from travis_config.rb rename to target/travis.rb diff --git a/tasks/benchmark.rake b/tasks/benchmark.rake index 6352f5c179..661fd2ada6 100644 --- a/tasks/benchmark.rake +++ b/tasks/benchmark.rake @@ -9,11 +9,7 @@ def bm_files end def build_config_name - if ENV['MRUBY_CONFIG'] - File.basename(ENV['MRUBY_CONFIG'], '.rb').gsub('build_config_', '') - else - "build" - end + MRUBY_TARGET end def plot_file