dbus/tools/meson-compat-install-symlink.py
Simon McVittie e2f2c5dd42 build: Change how we create symlinks from Meson
Use install_symlink() in Meson versions that support it, or a script
with similar invocation in versions that do not. This will make it
straightforward to migrate to install_symlink() when we drop support
for Meson versions older than 0.61.0.

Based on an implementation in the game-data-packager package, which used
a shell script.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00

22 lines
569 B
Python
Executable file

#!/usr/bin/env python3
# Copyright 2022 Simon McVittie
# Copyright 2022 Collabora Ltd.
# SPDX-License-Identifier: MIT
# Compatibility shim for installing symlinks with Meson < 0.61
import os
import sys
from pathlib import Path
link_name, d, pointing_to = sys.argv[1:]
if os.path.isabs(d):
p = Path(d)
d = p.relative_to(p.anchor)
dest = os.path.join(os.environ['DESTDIR'], d)
else:
dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], d)
os.makedirs(dest, mode=0o755, exist_ok=True)
os.symlink(pointing_to, os.path.join(dest, link_name))