diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-04-21 16:27:58 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-04-21 16:27:58 +0300 |
commit | bf9b5d7b726c9388e5204fb44969fd11730944c6 (patch) | |
tree | 9391fbac79ad1e5dfd9059c9a8bcfce5e00e6db5 /ninjabackend.py | |
parent | a92fcb711b5b56ee6858d73dc90eda0e1e5d91a4 (diff) | |
download | meson-bf9b5d7b726c9388e5204fb44969fd11730944c6.zip meson-bf9b5d7b726c9388e5204fb44969fd11730944c6.tar.gz meson-bf9b5d7b726c9388e5204fb44969fd11730944c6.tar.bz2 |
The first step in a major refactoring starts by adding a new layer of abstraction.
Diffstat (limited to 'ninjabackend.py')
-rw-r--r-- | ninjabackend.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ninjabackend.py b/ninjabackend.py index adfc59f..2c550fd 100644 --- a/ninjabackend.py +++ b/ninjabackend.py @@ -17,6 +17,7 @@ import environment, mesonlib import build import mlog import dependencies +from mesonlib import File from meson_install import InstallData from build import InvalidArguments from coredata import MesonException @@ -1107,10 +1108,15 @@ rule FORTRAN_DEP_HACK rel_src = os.path.join(self.get_target_private_dir(target), src) abs_src = os.path.join(self.environment.get_source_dir(), rel_src) else: - rel_src = os.path.join(self.build_to_src, target.get_source_subdir(), src) + if isinstance(src, File): # FIXME, accept only Files. + rel_src = src.rel_to_builddir(self.build_to_src) + else: + rel_src = os.path.join(self.build_to_src, target.get_source_subdir(), src) abs_src = os.path.join(self.environment.get_build_dir(), rel_src) if isinstance(src, RawFilename): src_filename = src.fname + elif isinstance(src, File): + src_filename = src.fname elif os.path.isabs(src): src_filename = os.path.basename(src) else: |