aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mintro.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2020-03-05 20:49:29 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2020-03-08 13:49:53 +0200
commit4ce90bcb08c52c4f2385ecf36db898225fafd140 (patch)
tree034300feea38a03855f78ff07b7a30e90462f1ce /mesonbuild/mintro.py
parentecb076ba002afb6a6678983dd02ac53d9b751f12 (diff)
downloadmeson-4ce90bcb08c52c4f2385ecf36db898225fafd140.zip
meson-4ce90bcb08c52c4f2385ecf36db898225fafd140.tar.gz
meson-4ce90bcb08c52c4f2385ecf36db898225fafd140.tar.bz2
intro: List symlinks in installdata (fixes #6734)
Diffstat (limited to 'mesonbuild/mintro.py')
-rw-r--r--mesonbuild/mintro.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py
index cca4372..9278584 100644
--- a/mesonbuild/mintro.py
+++ b/mesonbuild/mintro.py
@@ -95,6 +95,9 @@ def list_installed(installdata):
for t in installdata.targets:
res[os.path.join(installdata.build_dir, t.fname)] = \
os.path.join(installdata.prefix, t.outdir, os.path.basename(t.fname))
+ for alias in t.aliases.keys():
+ res[os.path.join(installdata.build_dir, alias)] = \
+ os.path.join(installdata.prefix, t.outdir, os.path.basename(alias))
for path, installpath, _ in installdata.data:
res[path] = os.path.join(installdata.prefix, installpath)
for path, installdir, _ in installdata.headers:
@@ -154,8 +157,9 @@ def list_targets(builddata: build.Build, installdata, backend: backends.Backend)
# Fast lookup table for installation files
install_lookuptable = {}
for i in installdata.targets:
- outname = os.path.join(installdata.prefix, i.outdir, os.path.basename(i.fname))
- install_lookuptable[os.path.basename(i.fname)] = str(PurePath(outname))
+ out = [os.path.join(installdata.prefix, i.outdir, os.path.basename(i.fname))]
+ out += [os.path.join(installdata.prefix, i.outdir, os.path.basename(x)) for x in i.aliases]
+ install_lookuptable[os.path.basename(i.fname)] = [str(PurePath(x)) for x in out]
for (idname, target) in builddata.get_targets().items():
if not isinstance(target, build.Target):
@@ -174,7 +178,8 @@ def list_targets(builddata: build.Build, installdata, backend: backends.Backend)
if installdata and target.should_install():
t['installed'] = True
- t['install_filename'] = [install_lookuptable.get(x, None) for x in target.get_outputs()]
+ t['install_filename'] = [install_lookuptable.get(x, [None]) for x in target.get_outputs()]
+ t['install_filename'] = [x for sublist in t['install_filename'] for x in sublist] # flatten the list
else:
t['installed'] = False
tlist.append(t)