aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/scripts
diff options
context:
space:
mode:
authorElliott Sales de Andrade <quantum.analyst@gmail.com>2016-08-27 22:45:50 -0400
committerElliott Sales de Andrade <quantum.analyst@gmail.com>2016-08-27 23:07:59 -0400
commit3a593d0aca47fd0d8a18c42e14704fb863036e03 (patch)
tree15c57671a10581c928a0a34e270ce8858cce18d1 /mesonbuild/scripts
parent7830cb61c39fbaf57933ac403dcdf5007667d87d (diff)
downloadmeson-3a593d0aca47fd0d8a18c42e14704fb863036e03.zip
meson-3a593d0aca47fd0d8a18c42e14704fb863036e03.tar.gz
meson-3a593d0aca47fd0d8a18c42e14704fb863036e03.tar.bz2
Always obey DESTDIR even with absolute install_dir.
Passing an absolute path to `install_dir` would previously always attempt to install there, instead of obeying DESTDIR, since os.path.join will 'reset' on absolute paths.
Diffstat (limited to 'mesonbuild/scripts')
-rw-r--r--mesonbuild/scripts/meson_install.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/mesonbuild/scripts/meson_install.py b/mesonbuild/scripts/meson_install.py
index 1924b95..6a3adab 100644
--- a/mesonbuild/scripts/meson_install.py
+++ b/mesonbuild/scripts/meson_install.py
@@ -106,7 +106,10 @@ def install_data(d):
def install_man(d):
for m in d.man:
outfileroot = m[1]
- outfilename = os.path.join(d.fullprefix, outfileroot)
+ if os.path.isabs(m[1]):
+ outfilename = destdir_join(d.destdir, m[1])
+ else:
+ outfilename = os.path.join(d.fullprefix, m[1])
full_source_filename = m[0]
outdir = os.path.split(outfilename)[0]
os.makedirs(outdir, exist_ok=True)
@@ -121,7 +124,10 @@ def install_man(d):
def install_headers(d):
for t in d.headers:
fullfilename = t[0]
- outdir = os.path.join(d.fullprefix, t[1])
+ if os.path.isabs(t[1]):
+ outdir = destdir_join(d.destdir, t[1])
+ else:
+ outdir = os.path.join(d.fullprefix, t[1])
fname = os.path.split(fullfilename)[1]
outfilename = os.path.join(outdir, fname)
print('Installing %s to %s' % (fname, outdir))
@@ -194,7 +200,10 @@ def check_for_stampfile(fname):
def install_targets(d):
for t in d.targets:
fname = check_for_stampfile(t[0])
- outdir = os.path.join(d.fullprefix, t[1])
+ if os.path.isabs(t[1]):
+ outdir = destdir_join(d.destdir, t[1])
+ else:
+ outdir = os.path.join(d.fullprefix, t[1])
aliases = t[2]
outname = os.path.join(outdir, os.path.split(fname)[-1])
should_strip = t[3]