aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-01-23 22:03:14 +0200
committerGitHub <noreply@github.com>2017-01-23 22:03:14 +0200
commit4c9c14121fee9f733ab1f731b87a6714338174c6 (patch)
tree378eb2fb05d3f19dc57f58b9257b4d48a3cfa907 /mesonbuild/backend
parent8ec9b0a71ffa1043b17a11e594219971c9288600 (diff)
parent7d6f628ed4c3c3dca32bef01b2581f2e9bcde189 (diff)
downloadmeson-4c9c14121fee9f733ab1f731b87a6714338174c6.zip
meson-4c9c14121fee9f733ab1f731b87a6714338174c6.tar.gz
meson-4c9c14121fee9f733ab1f731b87a6714338174c6.tar.bz2
Merge pull request #1302 from centricular/install-mode
Support file perms for install_data and install_subdir
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/backends.py3
-rw-r--r--mesonbuild/backend/ninjabackend.py4
2 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index e46c2c5..6f8a50e 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -459,7 +459,8 @@ class Backend:
mfobj['projects'] = self.build.dep_manifest
with open(ifilename, 'w') as f:
f.write(json.dumps(mfobj))
- d.data.append([ifilename, ofilename])
+ # Copy file from, to, and with mode unchanged
+ d.data.append([ifilename, ofilename, None])
def get_regen_filelist(self):
'''List of all files whose alteration means that the build
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index e1a478c..628718f 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -700,7 +700,7 @@ int dummy;
assert(isinstance(f, mesonlib.File))
plain_f = os.path.split(f.fname)[1]
dstabs = os.path.join(subdir, plain_f)
- i = [f.absolute_path(srcdir, builddir), dstabs]
+ i = [f.absolute_path(srcdir, builddir), dstabs, de.install_mode]
d.data.append(i)
def generate_subdir_install(self, d):
@@ -715,7 +715,7 @@ int dummy;
inst_dir = sd.installable_subdir
src_dir = os.path.join(self.environment.get_source_dir(), subdir)
dst_dir = os.path.join(self.environment.get_prefix(), sd.install_dir)
- d.install_subdirs.append([src_dir, inst_dir, dst_dir])
+ d.install_subdirs.append([src_dir, inst_dir, dst_dir, sd.install_mode])
def generate_tests(self, outfile):
self.serialise_tests()