diff options
| author | Yuichiro MASUI <[email protected]> | 2013-01-04 23:43:33 +0900 |
|---|---|---|
| committer | Yuichiro MASUI <[email protected]> | 2013-01-04 23:43:33 +0900 |
| commit | b8a6c5ce0d453ce22e31d12265978931e52c1957 (patch) | |
| tree | 6fedffc4719294243c96798040ba56ff1bd4dfb5 /tasks/mruby_gem_spec.rake | |
| parent | db2fed84d1414331b95f30d84912295a276c4837 (diff) | |
| download | mruby-b8a6c5ce0d453ce22e31d12265978931e52c1957.tar.gz mruby-b8a6c5ce0d453ce22e31d12265978931e52c1957.zip | |
Changed objccflags to objcflags
Added cxxflags, objcflags, asmflags to mrbgem.rake
Support .cxx and .cc as C++ source in mrbgems
Diffstat (limited to 'tasks/mruby_gem_spec.rake')
| -rw-r--r-- | tasks/mruby_gem_spec.rake | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/tasks/mruby_gem_spec.rake b/tasks/mruby_gem_spec.rake index 59a536e2c..9f28b2b6a 100644 --- a/tasks/mruby_gem_spec.rake +++ b/tasks/mruby_gem_spec.rake @@ -33,7 +33,7 @@ module MRuby @name = name @build = MRuby.build @dir = Gem.processing_path - @cflags = [] + @cflags, @cxxflags, @objcflags, @asmflags = [], [], [], [] @mruby_cflags, @mruby_ldflags, @mruby_libs = [], [], [] @mruby_includes = ["#{dir}/include"] @rbfiles = Dir.glob("#{dir}/mrblib/*.rb") @@ -113,9 +113,11 @@ __EOF__ obj_matcher = Regexp.new("^#{build_dir}/(.*)\\.o$") { '.c' => proc { |t| build.compile_c t.name, t.prerequisites.first, cflags }, - '.cpp' => proc { |t| build.compile_cxx t.name, t.prerequisites.first, cflags }, - '.m' => proc { |t| build.compile_objc t.name, t.prerequisites.first, cflags }, - '.S' => proc { |t| build.compile_asm t.name, t.prerequisites.first, cflags } + '.cpp' => proc { |t| build.compile_cxx t.name, t.prerequisites.first, cxxflags }, + '.cxx' => proc { |t| build.compile_cxx t.name, t.prerequisites.first, cxxflags }, + '.cc' => proc { |t| build.compile_cxx t.name, t.prerequisites.first, cxxflags }, + '.m' => proc { |t| build.compile_objc t.name, t.prerequisites.first, objcflags }, + '.S' => proc { |t| build.compile_asm t.name, t.prerequisites.first, asmflags } }.each do |ext, compile| rule obj_matcher => [ proc { |file| @@ -147,7 +149,7 @@ __EOF__ build.compile_mruby f, rbfiles, "gem_mrblib_irep_#{funcname}" unless rbfiles.empty? f.puts "void mrb_#{funcname}_gem_init(mrb_state *mrb);" f.puts "void GENERATED_TMP_mrb_#{funcname}_gem_init(mrb_state *mrb) {" - f.puts " mrb_#{funcname}_gem_init(mrb);" unless objs.empty? + f.puts " mrb_#{funcname}_gem_init(mrb);" if objs != ["#{build_dir}/gem_init.o"] f.puts <<__EOF__ unless rbfiles.empty? mrb_load_irep(mrb, gem_mrblib_irep_#{funcname}); if (mrb->exc) { |
