aboutsummaryrefslogtreecommitdiff
path: root/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-10-11 23:30:52 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2015-10-11 23:30:52 +0300
commitd952812b1bddd2e4a7c0dd60da5ac17757182cee (patch)
tree21da327e2e1df815f2a301fdc7cd46b158da00e8 /ninjabackend.py
parent7c9c03b43078c67b3bee3babf03bdbdf4aba426a (diff)
downloadmeson-d952812b1bddd2e4a7c0dd60da5ac17757182cee.zip
meson-d952812b1bddd2e4a7c0dd60da5ac17757182cee.tar.gz
meson-d952812b1bddd2e4a7c0dd60da5ac17757182cee.tar.bz2
Fix Rust to work with 1.3 release. Closes #277.
Diffstat (limited to 'ninjabackend.py')
-rw-r--r--ninjabackend.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/ninjabackend.py b/ninjabackend.py
index 0c1d3ba..ce78f67 100644
--- a/ninjabackend.py
+++ b/ninjabackend.py
@@ -824,14 +824,14 @@ class NinjaBackend(backends.Backend):
if isinstance(target, build.Executable):
cratetype = 'bin'
elif isinstance(target, build.SharedLibrary):
- cratetype = 'dylib'
+ cratetype = 'rlib'
elif isinstance(target, build.StaticLibrary):
- cratetype = 'lib'
+ cratetype = 'rlib'
else:
raise InvalidArguments('Unknown target type for rustc.')
args.append(cratetype)
args += rustc.get_buildtype_args(self.environment.coredata.buildtype)
- depfile = target_name + '.d'
+ depfile = target.name + '.d'
args += ['--out-dir', target.subdir]
args += ['--emit', 'dep-info', '--emit', 'link']
orderdeps = [os.path.join(t.subdir, t.get_filename()) for t in target.link_targets]
@@ -976,12 +976,9 @@ class NinjaBackend(backends.Backend):
def generate_rust_compile_rules(self, compiler, outfile):
rule = 'rule %s_COMPILER\n' % compiler.get_language()
invoc = ' '.join([ninja_quote(i) for i in compiler.get_exelist()])
- command = ' command = %s %s $out $cratetype %s $ARGS $in\n' % \
- (ninja_quote(sys.executable),
- ninja_quote(os.path.join(os.path.split(__file__)[0], "rustrunner.py")),
- invoc)
+ command = ' command = %s $ARGS $in\n' % invoc
description = ' description = Compiling Rust source $in.\n'
- depfile = ' depfile = $out.d\n'
+ depfile = ' depfile = $targetdep\n'
depstyle = ' deps = gcc\n'
outfile.write(rule)
@@ -1375,7 +1372,7 @@ rule FORTRAN_DEP_HACK
def get_fortran_orderdeps(self, target, compiler):
if compiler.language != 'fortran':
return []
- return [os.path.join(self.get_target_dir(lt), lt.filename) for lt in target.link_targets]
+ return [os.path.join(self.get_target_dir(lt), lt.get_filename()) for lt in target.link_targets]
def generate_msvc_pch_command(self, target, compiler, pch):
if len(pch) != 2: