meson: make our symlinking script more portable
We do not need the --relative case as it is dead code (we only ever link a filename without directory components). For the rest, GNU-specific ln -T does two things: - if the link name is an existing directory, ln fails instead of creating a surprising link inside the directory - if the link name is a symlink to a directory, ln treats it as a file, and due to -f, unlinks it The second case can be portably solved by ln -n, and both cases can be solved by doing what the original autotools Makefile did: rm -f && ln -s If the file exists, it will be removed. If it cannot be removed, it must be an ordinary directory, and the script aborts with an error. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
079b9d44e2
commit
8fe5520709
1 changed files with 3 additions and 5 deletions
|
@ -5,8 +5,6 @@ set -eu
|
||||||
# and we need to create the target directory...
|
# and we need to create the target directory...
|
||||||
|
|
||||||
mkdir -vp "$(dirname "${DESTDIR:-}$2")"
|
mkdir -vp "$(dirname "${DESTDIR:-}$2")"
|
||||||
if [ "$(dirname $1)" = . ]; then
|
|
||||||
ln -vfs -T "$1" "${DESTDIR:-}$2"
|
rm -f "${DESTDIR:-}$2"
|
||||||
else
|
ln -vs "$1" "${DESTDIR:-}$2"
|
||||||
ln -vfs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2"
|
|
||||||
fi
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue