summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-01-28 19:57:16 +0900
committerGitHub <[email protected]>2021-01-28 19:57:16 +0900
commitbb42c1b286844e37aa8110e1b2d9b5dd9eff8f3e (patch)
treea20368f5a6b0fbd1457f411c01fc762e47af0959
parentd42d308620f00ed53ba74ee5d3972d637bb6e57f (diff)
parentc858cba3e95f820a956f72607c9af494f70b9304 (diff)
downloadmruby-bb42c1b286844e37aa8110e1b2d9b5dd9eff8f3e.tar.gz
mruby-bb42c1b286844e37aa8110e1b2d9b5dd9eff8f3e.zip
Merge pull request #5304 from shuujii/refine-preprocess_options
Refine `preprocess_options`; ref d95ffb036
-rw-r--r--build_config/default.rb2
-rw-r--r--lib/mruby/build/command.rb2
-rw-r--r--tasks/toolchains/gcc.rake4
-rw-r--r--tasks/toolchains/openwrt.rake3
4 files changed, 6 insertions, 5 deletions
diff --git a/build_config/default.rb b/build_config/default.rb
index 894f1055b..6cdb868ec 100644
--- a/build_config/default.rb
+++ b/build_config/default.rb
@@ -24,7 +24,7 @@ MRuby::Build.new do |conf|
# cc.defines = %w()
# cc.option_include_path = %q[-I"%s"]
# cc.option_define = '-D%s'
- # cc.compile_options = %Q[%{flags} -MMD -o "%{outfile}" -c "%{infile}"]
+ # cc.compile_options = %Q[%{flags} -MMD -MF "%{outfile}".d -o "%{outfile}" -c "%{infile}"]
# end
# mrbc settings
diff --git a/lib/mruby/build/command.rb b/lib/mruby/build/command.rb
index e88b5ace7..9362a9d95 100644
--- a/lib/mruby/build/command.rb
+++ b/lib/mruby/build/command.rb
@@ -92,7 +92,7 @@ module MRuby
opts = compile_options
else
label = "CPP"
- opts = preprocess_options.gsub(/-MMD -MF .* -o/, "-o")
+ opts = preprocess_options
flags << " -DMRB_PRESYM_SCANNING"
end
_pp label, infile.relative_path, outfile.relative_path
diff --git a/tasks/toolchains/gcc.rake b/tasks/toolchains/gcc.rake
index 8714e1854..a39f087ba 100644
--- a/tasks/toolchains/gcc.rake
+++ b/tasks/toolchains/gcc.rake
@@ -3,7 +3,7 @@ MRuby::Toolchain.new(:gcc) do |conf, params|
compiler_flags = %w(-g -O3 -Wall -Wundef)
c_mandatory_flags = %w(-std=gnu99)
cxx_invalid_flags = %w(-Werror-implicit-function-declaration)
- compile_opt = '%{flags} -MMD -MF "%{outfile}.d" -o "%{outfile}" "%{infile}"'
+ compile_opt = '%{flags} -o "%{outfile}" "%{infile}"'
[conf.cc, conf.objc, conf.asm, conf.cxx].each do |compiler|
if compiler == conf.cxx
@@ -15,7 +15,7 @@ MRuby::Toolchain.new(:gcc) do |conf, params|
end
compiler.option_include_path = %q[-I"%s"]
compiler.option_define = '-D%s'
- compiler.compile_options = "-c #{compile_opt}"
+ compiler.compile_options = %|-MMD -MF "%{outfile}.d" -c #{compile_opt}|
compiler.preprocess_options = "-E -P #{compile_opt}"
compiler.cxx_compile_flag = '-x c++ -std=gnu++03'
compiler.cxx_exception_flag = '-fexceptions'
diff --git a/tasks/toolchains/openwrt.rake b/tasks/toolchains/openwrt.rake
index d5763d8de..a903ddd49 100644
--- a/tasks/toolchains/openwrt.rake
+++ b/tasks/toolchains/openwrt.rake
@@ -11,7 +11,8 @@ MRuby::Toolchain.new(:openwrt) do |conf|
end
cc.option_include_path = %q[-I"%s"]
cc.option_define = '-D%s'
- cc.compile_options = %q[%{flags} -MMD -MF "%{outfile}.d" -o "%{outfile}" -c "%{infile}"]
+ cc.compile_options = '%{flags} -MMD -MF "%{outfile}.d" -o "%{outfile}" -c "%{infile}"'
+ cc.preprocess_options = '%{flags} -o "%{outfile}" -E -P "%{infile}"'
end
conf.linker do |linker|