diff options
| author | take_cheeze <[email protected]> | 2014-04-07 17:38:30 +0900 |
|---|---|---|
| committer | take_cheeze <[email protected]> | 2014-04-07 17:38:30 +0900 |
| commit | 66e0df34e0d2dcf4de67a653f614610068bdd350 (patch) | |
| tree | fd0a14d53b918a084f5b6d97b13b1d0e301c3815 /tasks | |
| parent | c5c87424a853445cc04c018fbbd2f21407c3fcf9 (diff) | |
| download | mruby-66e0df34e0d2dcf4de67a653f614610068bdd350.tar.gz mruby-66e0df34e0d2dcf4de67a653f614610068bdd350.zip | |
Fix C++ files detection for automatic C++ ABI enabling.
Diffstat (limited to 'tasks')
| -rw-r--r-- | tasks/mrbgem_spec.rake | 7 | ||||
| -rw-r--r-- | tasks/mruby_build_gem.rake | 7 |
2 files changed, 5 insertions, 9 deletions
diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake index 3536594d9..1a399be73 100644 --- a/tasks/mrbgem_spec.rake +++ b/tasks/mrbgem_spec.rake @@ -40,7 +40,6 @@ module MRuby @name = name @initializer = block @version = "0.0.0" - @cxx_abi_enabled = false MRuby::Gem.current = self end @@ -48,10 +47,6 @@ module MRuby not test_preload.nil? or not test_objs.empty? end - def cxx_abi_enabled? - @cxx_abi_enabled - end - def setup MRuby::Gem.current = self @build.compilers.each do |compiler| @@ -64,14 +59,12 @@ module MRuby @rbfiles = Dir.glob("#{dir}/mrblib/*.rb").sort @objs = Dir.glob("#{dir}/src/*.{c,cpp,cxx,m,asm,S}").map do |f| - @cxx_abi_enabled = true if f =~ /(cxx|cpp)$/ objfile(f.relative_path_from(@dir).to_s.pathmap("#{build_dir}/%X")) end @objs << objfile("#{build_dir}/gem_init") @test_rbfiles = Dir.glob("#{dir}/test/*.rb") @test_objs = Dir.glob("#{dir}/test/*.{c,cpp,cxx,m,asm,S}").map do |f| - @cxx_abi_enabled = true if f =~ /(cxx|cpp)$/ objfile(f.relative_path_from(dir).to_s.pathmap("#{build_dir}/%X")) end @test_preload = nil # 'test/assert.rb' diff --git a/tasks/mruby_build_gem.rake b/tasks/mruby_build_gem.rake index 5e4566f8d..42d0d6b89 100644 --- a/tasks/mruby_build_gem.rake +++ b/tasks/mruby_build_gem.rake @@ -30,12 +30,15 @@ module MRuby load gemrake return nil unless Gem.current - enable_cxx_abi if Gem.current.cxx_abi_enabled? - Gem.current.dir = gemdir Gem.current.build = MRuby::Build.current Gem.current.build_config_initializer = block gems << Gem.current + + cxx_srcs = Dir.glob("#{Gem.current.dir}/src/*.{cpp,cxx}") + cxx_srcs += Dir.glob("#{Gem.current.dir}/test/*.{cpp,cxx}") + enable_cxx_abi unless cxx_srcs.empty? + Gem.current end |
