diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-05-01 07:40:38 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-10-12 16:20:47 +0900 |
| commit | fdbfeaf533fd75143f5d3af3ec6c585b9da746c4 (patch) | |
| tree | 49ec92b8bc96f33c45630c4f11b5020e3e66b23a | |
| parent | ea31878b1f135ae570c3923bfd4817f467725f84 (diff) | |
| download | mruby-fdbfeaf533fd75143f5d3af3ec6c585b9da746c4.tar.gz mruby-fdbfeaf533fd75143f5d3af3ec6c585b9da746c4.zip | |
Build process updated:
You have to specify `TARGET` to specify a configuration, e.g.
```
rake TARGET=host-debug all test
```
When you port `mruby` to a new configuration:
1. copy an existing configuration under `target` directory
2. modify the new configuration file
3. build using the new configuration
4. send PR if you please
| -rw-r--r-- | Rakefile | 3 | ||||
| -rw-r--r-- | lib/mruby/lockfile.rb | 2 | ||||
| -rw-r--r-- | target/ArduinoDue.rb (renamed from examples/targets/build_config_ArduinoDue.rb) | 0 | ||||
| -rw-r--r-- | target/IntelEdison.rb (renamed from examples/targets/build_config_IntelEdison.rb) | 0 | ||||
| -rw-r--r-- | target/IntelGalileo.rb (renamed from examples/targets/build_config_IntelGalileo.rb) | 0 | ||||
| -rw-r--r-- | target/RX630.rb (renamed from examples/targets/build_config_RX630.rb) | 0 | ||||
| -rw-r--r-- | target/android_arm64-v8a.rb (renamed from examples/targets/build_config_android_arm64-v8a.rb) | 0 | ||||
| -rw-r--r-- | target/android_armeabi.rb (renamed from examples/targets/build_config_android_armeabi.rb) | 0 | ||||
| -rw-r--r-- | target/android_armeabi_v7a_neon_hard.rb (renamed from examples/targets/build_config_android_armeabi_v7a_neon_hard.rb) | 0 | ||||
| -rw-r--r-- | target/appveyor.rb (renamed from appveyor_config.rb) | 0 | ||||
| -rw-r--r-- | target/bench.rb | 11 | ||||
| -rw-r--r-- | target/chipKITMax32.rb (renamed from examples/targets/build_config_chipKITMax32.rb) | 0 | ||||
| -rw-r--r-- | target/cross-32bit.rb | 13 | ||||
| -rw-r--r-- | target/dreamcast_shelf.rb (renamed from examples/targets/build_config_dreamcast_shelf.rb) | 0 | ||||
| -rw-r--r-- | target/host-debug.rb | 24 | ||||
| -rw-r--r-- | target/host.rb (renamed from build_config.rb) | 68 | ||||
| -rw-r--r-- | target/travis.rb (renamed from travis_config.rb) | 0 | ||||
| -rw-r--r-- | tasks/benchmark.rake | 6 |
18 files changed, 59 insertions, 68 deletions
@@ -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 0d2455b4c..ee16e2ad8 100644 --- a/lib/mruby/lockfile.rb +++ b/lib/mruby/lockfile.rb @@ -26,7 +26,7 @@ module MRuby 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 index 09646a700..09646a700 100644 --- a/examples/targets/build_config_ArduinoDue.rb +++ b/target/ArduinoDue.rb diff --git a/examples/targets/build_config_IntelEdison.rb b/target/IntelEdison.rb index a22f9cfd2..a22f9cfd2 100644 --- a/examples/targets/build_config_IntelEdison.rb +++ b/target/IntelEdison.rb diff --git a/examples/targets/build_config_IntelGalileo.rb b/target/IntelGalileo.rb index 42f39c456..42f39c456 100644 --- a/examples/targets/build_config_IntelGalileo.rb +++ b/target/IntelGalileo.rb diff --git a/examples/targets/build_config_RX630.rb b/target/RX630.rb index 8b1bbb42f..8b1bbb42f 100644 --- a/examples/targets/build_config_RX630.rb +++ b/target/RX630.rb diff --git a/examples/targets/build_config_android_arm64-v8a.rb b/target/android_arm64-v8a.rb index 70b0f4b97..70b0f4b97 100644 --- a/examples/targets/build_config_android_arm64-v8a.rb +++ b/target/android_arm64-v8a.rb diff --git a/examples/targets/build_config_android_armeabi.rb b/target/android_armeabi.rb index 17330242a..17330242a 100644 --- a/examples/targets/build_config_android_armeabi.rb +++ b/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 index 3788bba7f..3788bba7f 100644 --- a/examples/targets/build_config_android_armeabi_v7a_neon_hard.rb +++ b/target/android_armeabi_v7a_neon_hard.rb diff --git a/appveyor_config.rb b/target/appveyor.rb index 25745daa8..25745daa8 100644 --- a/appveyor_config.rb +++ b/target/appveyor.rb diff --git a/target/bench.rb b/target/bench.rb new file mode 100644 index 000000000..30ec56ad3 --- /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 index 8617d8d10..8617d8d10 100644 --- a/examples/targets/build_config_chipKITMax32.rb +++ b/target/chipKITMax32.rb diff --git a/target/cross-32bit.rb b/target/cross-32bit.rb new file mode 100644 index 000000000..310ffc833 --- /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 index 85b2ff20d..85b2ff20d 100644 --- a/examples/targets/build_config_dreamcast_shelf.rb +++ b/target/dreamcast_shelf.rb diff --git a/target/host-debug.rb b/target/host-debug.rb new file mode 100644 index 000000000..4e89d162c --- /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 index 254a28ce0..4f0286882 100644 --- a/build_config.rb +++ b/target/host.rb @@ -8,9 +8,6 @@ MRuby::Build.new do |conf| 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 @@ MRuby::Build.new do |conf| # conf.gem :github => 'mattn/mruby-onig-regexp' # conf.gem :git => '[email protected]: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 @@ MRuby::Build.new do |conf| # 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 @@ MRuby::Build.new('test') do |conf| 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 index f4bef0a52..f4bef0a52 100644 --- a/travis_config.rb +++ b/target/travis.rb diff --git a/tasks/benchmark.rake b/tasks/benchmark.rake index 6352f5c17..661fd2ada 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 |
