build: provide global defines by `build.defines`.
MODIFY
lib/mruby/build.rb
lib/mruby/build.rb
@@ -71,7 +71,7 @@ module MRuby
include Rake::DSL
include LoadGems
- attr_accessor :name, :bins, :exts, :file_separator, :build_dir, :gem_clone_dir
+ attr_accessor :name, :bins, :exts, :file_separator, :build_dir, :gem_clone_dir, :defines
attr_reader :products, :libmruby_core_objs, :libmruby_objs, :gems, :toolchains, :presym, :mrbc_build, :gem_dir_to_repo_url
alias libmruby libmruby_objs
@@ -97,6 +97,7 @@ module MRuby
@file_separator = '/'
@build_dir = "#{build_dir}/#{@name}"
@gem_clone_dir = "#{build_dir}/repos/#{@name}"
+ @defines = []
@cc = Command::Compiler.new(self, %w(.c), label: "CC")
@cxx = Command::Compiler.new(self, %w(.cc .cxx .cpp), label: "CXX")
@objc = Command::Compiler.new(self, %w(.m), label: "OBJC")

MODIFY
lib/mruby/build/command.rb
lib/mruby/build/command.rb
@@ -77,7 +77,7 @@ module MRuby
end
def all_flags(_defines=[], _include_paths=[], _flags=[])
- define_flags = [defines, _defines].flatten.map{ |d| option_define % d }
+ define_flags = [defines, _defines, build.defines].flatten.map{ |d| option_define % d }
include_path_flags = [include_paths, _include_paths].flatten.map do |f|
option_include_path % filename(f)
end

build: provide global defines by `build.defines`.