aboutsummaryrefslogtreecommitdiff
path: root/ninjabackend.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-04-22 16:10:10 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2015-04-22 16:10:10 +0300
commit83e04ca70f5ab212b024774161c0bbdae1b79a19 (patch)
treef66ca17851bdf17b34b3b890d4d57629e8dedf54 /ninjabackend.py
parent6237695e96eb57123ab7f02b37b031dd516dbe93 (diff)
downloadmeson-83e04ca70f5ab212b024774161c0bbdae1b79a19.zip
meson-83e04ca70f5ab212b024774161c0bbdae1b79a19.tar.gz
meson-83e04ca70f5ab212b024774161c0bbdae1b79a19.tar.bz2
Fix the remaining tests.
Diffstat (limited to 'ninjabackend.py')
-rw-r--r--ninjabackend.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/ninjabackend.py b/ninjabackend.py
index 2c550fd..1d4549e 100644
--- a/ninjabackend.py
+++ b/ninjabackend.py
@@ -610,7 +610,7 @@ class NinjaBackend(backends.Backend):
src_list = target.get_sources()
compiler = self.get_compiler_for_source(src_list[0])
assert(compiler.get_language() == 'cs')
- rel_srcs = [os.path.join(self.build_to_src, s) for s in src_list]
+ rel_srcs = [s.rel_to_builddir(self.build_to_src) for s in src_list]
deps = []
commands = target.extra_args.get('cs', [])
commands += compiler.get_buildtype_args(buildtype)
@@ -637,12 +637,11 @@ class NinjaBackend(backends.Backend):
elem.write(outfile)
def generate_single_java_compile(self, subdir, src, target, compiler, outfile):
- buildtype = self.environment.coredata.buildtype
args = []
args += compiler.get_buildtype_args(self.environment.coredata.buildtype)
args += compiler.get_output_args(self.get_target_private_dir(target))
- rel_src = os.path.join(self.build_to_src, subdir, src)
- plain_class_path = src[:-4] + 'class'
+ rel_src = src.rel_to_builddir(self.build_to_src)
+ plain_class_path = src.fname[:-4] + 'class'
rel_obj = os.path.join(self.get_target_private_dir(target), plain_class_path)
element = NinjaBuildElement(rel_obj,
compiler.get_language() + '_COMPILER', rel_src)
@@ -664,10 +663,10 @@ class NinjaBackend(backends.Backend):
for s in target.get_sources():
if not s.endswith('.vala'):
continue
- vapibase = os.path.basename(s)[:-4] + 'vapi'
+ vapibase = os.path.basename(s.fname)[:-4] + 'vapi'
rel_vapi = os.path.join(self.get_target_dir(target), target.get_basename() + '.dir', vapibase)
args = ['--fast-vapi=' + rel_vapi]
- rel_s = os.path.join(self.build_to_src, s)
+ rel_s = s.rel_to_builddir(self.build_to_src)
element = NinjaBuildElement(rel_vapi, valac.get_language() + '_COMPILER', rel_s)
element.add_item('ARGS', args)
element.write(outfile)
@@ -683,7 +682,7 @@ class NinjaBackend(backends.Backend):
if not s.endswith('.vala'):
continue
args = ['-d', self.get_target_private_dir(target)]
- sc = os.path.basename(s)[:-4] + 'c'
+ sc = os.path.basename(s.fname)[:-4] + 'c'
args += ['-C', '-o', sc]
vapi_order_deps = []
for (sourcefile, vapi_info) in fast_vapis.items():
@@ -693,7 +692,7 @@ class NinjaBackend(backends.Backend):
args += ['--use-fast-vapi=' + rel_vapi]
vapi_order_deps.append(rel_vapi)
relsc = os.path.join(self.get_target_dir(target), target.get_basename() + '.dir', sc)
- rel_s = os.path.join(self.build_to_src, s)
+ rel_s = s.rel_to_builddir(self.build_to_src)
args += ['--deps', relsc + '.d']
if self.environment.coredata.werror:
args += valac.get_werror_args()
@@ -1040,7 +1039,7 @@ rule FORTRAN_DEP_HACK
# but those are really rare. I hope.
if not compiler.can_compile(s):
continue
- for line in open(os.path.join(self.environment.get_source_dir(), target.subdir, s)):
+ for line in open(os.path.join(self.environment.get_source_dir(), s.subdir, s.fname)):
modmatch = modre.match(line)
if modmatch is not None:
modname = modmatch.group(1)
@@ -1074,7 +1073,7 @@ rule FORTRAN_DEP_HACK
# Check if a source uses a module it exports itself.
# Potential bug if multiple targets have a file with
# the same name.
- if mod_source_file == os.path.split(src)[1]:
+ if mod_source_file.fname == os.path.split(src)[1]:
continue
mod_name = compiler.module_name_to_filename(usematch.group(1))
mod_files.append(os.path.join(dirname, mod_name))