diff options
author | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2016-08-27 23:05:11 -0400 |
---|---|---|
committer | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2016-08-27 23:07:59 -0400 |
commit | 38a2a636b5c2ba1981ddd5b16a50d334f762e343 (patch) | |
tree | 122162a9c7a551f023dd4cc02e6a32b0ae1d9880 | |
parent | 3a593d0aca47fd0d8a18c42e14704fb863036e03 (diff) | |
download | meson-38a2a636b5c2ba1981ddd5b16a50d334f762e343.zip meson-38a2a636b5c2ba1981ddd5b16a50d334f762e343.tar.gz meson-38a2a636b5c2ba1981ddd5b16a50d334f762e343.tar.bz2 |
Refactor DESTDIR determination into a single function.
-rw-r--r-- | mesonbuild/scripts/meson_install.py | 39 |
1 files changed, 14 insertions, 25 deletions
diff --git a/mesonbuild/scripts/meson_install.py b/mesonbuild/scripts/meson_install.py index 6a3adab..5c5e72c 100644 --- a/mesonbuild/scripts/meson_install.py +++ b/mesonbuild/scripts/meson_install.py @@ -37,6 +37,13 @@ def do_copy(from_file, to_file): shutil.copystat(from_file, to_file) append_to_log(to_file) +def get_destdir_path(d, path): + if os.path.isabs(path): + output = destdir_join(d.destdir, path) + else: + output = os.path.join(d.fullprefix, path) + return output + def do_install(datafilename): ifile = open(datafilename, 'rb') d = pickle.load(ifile) @@ -56,10 +63,7 @@ def install_subdirs(data): src_dir = src_dir[:-1] src_prefix = os.path.join(src_dir, inst_dir) print('Installing subdir %s to %s.' % (src_prefix, dst_dir)) - if os.path.isabs(dst_dir): - dst_dir = destdir_join(data.destdir, dst_dir) - else: - dst_dir = data.fullprefix + dst_dir + dst_dir = get_destdir_path(data, dst_dir) if not os.path.exists(dst_dir): os.makedirs(dst_dir) for root, dirs, files in os.walk(src_prefix): @@ -92,25 +96,16 @@ def install_subdirs(data): def install_data(d): for i in d.data: fullfilename = i[0] - outfilename = i[1] - if os.path.isabs(outfilename): - outdir = destdir_join(d.destdir, os.path.split(outfilename)[0]) - outfilename = destdir_join(d.destdir, outfilename) - else: - outdir = os.path.join(d.fullprefix, os.path.split(outfilename)[0]) - outfilename = os.path.join(outdir, os.path.split(outfilename)[1]) + outfilename = get_destdir_path(d, i[1]) + outdir = os.path.split(outfilename)[0] os.makedirs(outdir, exist_ok=True) print('Installing %s to %s.' % (fullfilename, outdir)) do_copy(fullfilename, outfilename) def install_man(d): for m in d.man: - outfileroot = m[1] - 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] + outfilename = get_destdir_path(d, m[1]) outdir = os.path.split(outfilename)[0] os.makedirs(outdir, exist_ok=True) print('Installing %s to %s.' % (full_source_filename, outdir)) @@ -124,11 +119,8 @@ def install_man(d): def install_headers(d): for t in d.headers: fullfilename = t[0] - 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] + outdir = get_destdir_path(d, t[1]) outfilename = os.path.join(outdir, fname) print('Installing %s to %s' % (fname, outdir)) os.makedirs(outdir, exist_ok=True) @@ -200,12 +192,9 @@ def check_for_stampfile(fname): def install_targets(d): for t in d.targets: fname = check_for_stampfile(t[0]) - 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] + outdir = get_destdir_path(d, t[1]) outname = os.path.join(outdir, os.path.split(fname)[-1]) + aliases = t[2] should_strip = t[3] install_rpath = t[4] print('Installing %s to %s' % (fname, outname)) |