summaryrefslogtreecommitdiffstats
path: root/tools/meson-make-symlink.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/meson-make-symlink.sh')
-rwxr-xr-xtools/meson-make-symlink.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh
new file mode 100755
index 0000000..653a73b
--- /dev/null
+++ b/tools/meson-make-symlink.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -eu
+
+SOURCE="${1:?}"
+TARGET="${2:?}"
+
+if [ "${MESON_INSTALL_QUIET:-0}" = 1 ] ; then
+ VERBOSE=""
+else
+ VERBOSE="v"
+fi
+
+# this is needed mostly because $DESTDIR is provided as a variable,
+# and we need to create the target directory...
+
+mkdir -${VERBOSE}p "$(dirname "${DESTDIR:-}$TARGET")"
+if [ "$(dirname "$SOURCE")" = . ] || [ "$(dirname "$SOURCE")" = .. ]; then
+ ln -${VERBOSE}fs -T -- "$SOURCE" "${DESTDIR:-}$TARGET"
+else
+ ln -${VERBOSE}fs -T --relative -- "${DESTDIR:-}$SOURCE" "${DESTDIR:-}$TARGET"
+fi