From a3685c4c0454dea2b9c14646bcd8392d2c6d29f3 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Sat, 21 Nov 2020 17:50:44 +0900 Subject: Fix incorrect build name and simplify `build_config/boxing.rb` [ci skip] `boxing-nan-m64` was duplicated. --- build_config/boxing.rb | 168 ++++++------------------------------------------- 1 file changed, 19 insertions(+), 149 deletions(-) diff --git a/build_config/boxing.rb b/build_config/boxing.rb index 75046e371..bc35f1600 100644 --- a/build_config/boxing.rb +++ b/build_config/boxing.rb @@ -1,151 +1,21 @@ -MRuby::Build.new('boxing-no-m64-i64') do |conf| - toolchain :gcc - - conf.cc.flags << '-m64' - conf.linker.flags << '-m64' - - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_NO_BOXING MRB_INT64) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-no-m64-i32') do |conf| - toolchain :gcc - - conf.cc.flags << '-m64' - conf.linker.flags << '-m64' - - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_NO_BOXING MRB_INT32) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-no-m32-i64') do |conf| - toolchain :gcc - - conf.cc.flags << '-m32' - conf.linker.flags << '-m32' - - # Turn on `enable_debug` for better debugging - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_NO_BOXING MRB_INT64) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-no-m32-i32') do |conf| - toolchain :gcc - - conf.cc.flags << '-m32' - conf.linker.flags << '-m32' - - # Turn on `enable_debug` for better debugging - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_NO_BOXING MRB_INT32) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-word-m64-i64') do |conf| - toolchain :gcc - - conf.cc.flags << '-m64' - conf.linker.flags << '-m64' - - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_WORD_BOXING MRB_INT64) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-word-m64-i32') do |conf| - toolchain :gcc - - conf.cc.flags << '-m64' - conf.linker.flags << '-m64' - - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_WORD_BOXING MRB_INT32) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-word-m32-i64') do |conf| - toolchain :gcc - - conf.cc.flags << '-m32' - conf.linker.flags << '-m32' - - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_WORD_BOXING MRB_INT64) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-word-m32-i32') do |conf| - toolchain :gcc - - conf.cc.flags << '-m32' - conf.linker.flags << '-m32' - - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_WORD_BOXING MRB_INT32) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-nan-m64') do |conf| - toolchain :gcc - - conf.cc.flags << '-m64' - conf.linker.flags << '-m64' - - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_NAN_BOXING) - end - conf.enable_debug - conf.enable_test - conf.enable_bintest -end - -MRuby::Build.new('boxing-nan-m64') do |conf| - toolchain :gcc - - conf.cc.flags << '-m32' - conf.linker.flags << '-m32' - - conf.gembox 'default' - conf.compilers.each do |c| - c.defines += %w(MRB_NAN_BOXING MRB_INT32) +BOXINGS = %w[no word nan] +BITS = [64, 32] +INTS = [64, 32] + +BOXINGS.product(BITS, INTS) do |boxing, bit, int| + next if boxing == "nan" && int == 64 + + MRuby::Build.new("boxing-#{boxing}-m#{bit}-i#{int}") do |conf| + conf.toolchain :gcc + conf.gembox 'default' + conf.compilers.each do |c| + c.defines << "MRB_#{boxing.upcase}_BOXING" + c.defines << "MRB_INT#{int}" + c.flags << "-m#{bit}" + end + conf.linker.flags << "-m#{bit}" + conf.enable_debug + conf.enable_test + conf.enable_bintest end - conf.enable_debug - conf.enable_test - conf.enable_bintest end -- cgit v1.2.3