Unverified Commit 80a7655b authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #5271 from shuujii/fix-build-error-in-cross-build-with-presym

Fix build error in cross-build with presym
parents dc5ade37 f80d5ece
# Define cross build settings # Define cross build settings
MRuby::CrossBuild.new('cross-32bit') do |conf| MRuby::CrossBuild.new('cross-32bit') do |conf|
toolchain :gcc conf.toolchain :gcc
conf.cc.flags << "-m32" conf.cc.flags << "-m32"
conf.linker.flags << "-m32" conf.linker.flags << "-m32"
......
...@@ -515,11 +515,7 @@ EOS ...@@ -515,11 +515,7 @@ EOS
unless mrbcfile_external? || MRuby.targets['host'] unless mrbcfile_external? || MRuby.targets['host']
# add minimal 'host' # add minimal 'host'
MRuby::Build.new('host') do |conf| MRuby::Build.new('host') do |conf|
if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR'] conf.toolchain
toolchain :visualcpp
else
toolchain :gcc
end
conf.build_mrbc_exec conf.build_mrbc_exec
conf.disable_libmruby conf.disable_libmruby
conf.disable_presym conf.disable_presym
...@@ -527,6 +523,10 @@ EOS ...@@ -527,6 +523,10 @@ EOS
end end
end end
def mrbcfile
mrbcfile_external? ? super : MRuby::targets['host'].mrbcfile
end
def run_test def run_test
@test_runner.runner_options << verbose_flag @test_runner.runner_options << verbose_flag
mrbtest = exefile("#{build_dir}/bin/mrbtest") mrbtest = exefile("#{build_dir}/bin/mrbtest")
......
mrbtest = "#{MRuby::Build.install_dir}/mrbtest"
all_prerequisites = ->(task_name, prereqs) do all_prerequisites = ->(task_name, prereqs) do
Rake::Task[task_name].prerequisites.each do |prereq_name| Rake::Task[task_name].prerequisites.each do |prereq_name|
next if prereqs[prereq_name] next if prereqs[prereq_name]
...@@ -18,13 +19,14 @@ MRuby.each_target do |build| ...@@ -18,13 +19,14 @@ MRuby.each_target do |build|
prereqs = {} prereqs = {}
pps = [] pps = []
mrbtest = "#{build.class.install_dir}/mrbtest" build_dir = "#{build.build_dir}/"
mrbc_build_dir = "#{build.mrbc_build.build_dir}/" if build.mrbc_build mrbc_build_dir = "#{build.mrbc_build.build_dir}/" if build.mrbc_build
build.products.each do |product| build.products.each do |product|
all_prerequisites.(product, prereqs) unless product == mrbtest all_prerequisites.(product, prereqs) unless product == mrbtest
end end
prereqs.each_key do |prereq| prereqs.each_key do |prereq|
next unless File.extname(prereq) == build.exts.object next unless File.extname(prereq) == build.exts.object
next unless prereq.start_with?(build_dir)
next if mrbc_build_dir && prereq.start_with?(mrbc_build_dir) next if mrbc_build_dir && prereq.start_with?(mrbc_build_dir)
pps << prereq.ext(build.exts.preprocessed) pps << prereq.ext(build.exts.preprocessed)
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment