aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Sales de Andrade <quantum.analyst@gmail.com>2018-04-19 21:22:40 -0400
committerJussi Pakkanen <jpakkane@gmail.com>2018-04-21 16:58:01 +0300
commit78495b21e70d96ed94bfa91dfe62a923f60f4b29 (patch)
tree2abbb0f355419f467b648e21bbba8e49f8161872
parentfc5e8dfcdae11d23469fd01d878c7c9c30d67d30 (diff)
downloadmeson-78495b21e70d96ed94bfa91dfe62a923f60f4b29.zip
meson-78495b21e70d96ed94bfa91dfe62a923f60f4b29.tar.gz
meson-78495b21e70d96ed94bfa91dfe62a923f60f4b29.tar.bz2
Fix Fortran dep hack when cross-compiling.
-rw-r--r--mesonbuild/backend/ninjabackend.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index d423832..d403cad 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1640,7 +1640,7 @@ int dummy;
outfile.write(description)
outfile.write('\n')
- def generate_fortran_dep_hack(self, outfile):
+ def generate_fortran_dep_hack(self, outfile, crstr):
if mesonlib.is_windows():
cmd = 'cmd /C ""'
else:
@@ -1648,13 +1648,13 @@ int dummy;
template = '''# Workaround for these issues:
# https://groups.google.com/forum/#!topic/ninja-build/j-2RfBIOd_8
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485
-rule FORTRAN_DEP_HACK
+rule FORTRAN_DEP_HACK%s
command = %s
description = Dep hack
restat = 1
'''
- outfile.write(template % cmd)
+ outfile.write(template % (crstr, cmd))
def generate_llvm_ir_compile_rule(self, compiler, is_cross, outfile):
if getattr(self, 'created_llvm_ir_rule', False):
@@ -1707,12 +1707,12 @@ rule FORTRAN_DEP_HACK
if not is_cross:
self.generate_swift_compile_rules(compiler, outfile)
return
- if langname == 'fortran':
- self.generate_fortran_dep_hack(outfile)
if is_cross:
crstr = '_CROSS'
else:
crstr = ''
+ if langname == 'fortran':
+ self.generate_fortran_dep_hack(outfile, crstr)
rule = 'rule %s%s_COMPILER\n' % (langname, crstr)
depargs = compiler.get_dependency_gen_args('$out', '$DEPFILE')
quoted_depargs = []
@@ -2248,7 +2248,7 @@ rule FORTRAN_DEP_HACK
modfile = os.path.join(self.get_target_private_dir(target),
compiler.module_name_to_filename(modname))
if srcfile == src:
- depelem = NinjaBuildElement(self.all_outputs, modfile, 'FORTRAN_DEP_HACK', rel_obj)
+ depelem = NinjaBuildElement(self.all_outputs, modfile, 'FORTRAN_DEP_HACK' + crstr, rel_obj)
depelem.write(outfile)
commands += compiler.get_module_outdir_args(self.get_target_private_dir(target))