summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-05-01 07:40:38 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-10-12 16:20:47 +0900
commitfdbfeaf533fd75143f5d3af3ec6c585b9da746c4 (patch)
tree49ec92b8bc96f33c45630c4f11b5020e3e66b23a
parentea31878b1f135ae570c3923bfd4817f467725f84 (diff)
downloadmruby-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--Rakefile3
-rw-r--r--lib/mruby/lockfile.rb2
-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.rb11
-rw-r--r--target/chipKITMax32.rb (renamed from examples/targets/build_config_chipKITMax32.rb)0
-rw-r--r--target/cross-32bit.rb13
-rw-r--r--target/dreamcast_shelf.rb (renamed from examples/targets/build_config_dreamcast_shelf.rb)0
-rw-r--r--target/host-debug.rb24
-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.rake6
18 files changed, 59 insertions, 68 deletions
diff --git a/Rakefile b/Rakefile
index ce3da1d9a..6ccdcd958 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 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