mirror of
https://git.savannah.gnu.org/git/coreutils.git
synced 2025-09-10 07:59:52 +02:00
Use a better dirname emulation.
* build-aux/check.mk (_dirname): Define. (am__check_pre): Use it.
This commit is contained in:
@@ -90,9 +90,12 @@ tput sgr0 >/dev/null 2>&1 && \
|
||||
SH_E_WORKAROUND = case $$- in *e*) set +e;; esac
|
||||
|
||||
# Emulate dirname with sed.
|
||||
# This approximation fails when the input is a single-component
|
||||
# absolute directory name like /foo, but that never happens here.
|
||||
approx_dirname_filter = sed 's,^[^/]*$$,.,;s,//*[^/]*$$,,'
|
||||
_d_no_slash = s,^[^/]*$$,.,
|
||||
_d_strip_trailing = s,\([^/]\)//*$$,\1,
|
||||
_d_abs_trivial = s,^//*[^/]*$$,/,
|
||||
_d_rm_basename = s,\([^/]\)//*[^/]*$$,\1,
|
||||
_dirname = \
|
||||
sed '$(_d_no_slash);$(_d_strip_trailing);$(_d_abs_trivial);$(_d_rm_basename)'
|
||||
|
||||
# To be inserted before the command running the test. Creates the
|
||||
# directory for the log if needed. Stores in $dir the directory
|
||||
@@ -101,7 +104,7 @@ am__check_pre = \
|
||||
$(SH_E_WORKAROUND); \
|
||||
tst=`echo "$$src" | sed 's|^.*/||'`; \
|
||||
rm -f $@-t; \
|
||||
$(mkdir_p) "$$(echo '$@'|$(approx_dirname_filter))" || exit; \
|
||||
$(mkdir_p) "$$(echo '$@'|$(_dirname))" || exit; \
|
||||
if test -f "./$$src"; then dir=./; \
|
||||
elif test -f "$$src"; then dir=; \
|
||||
else dir="$(srcdir)/"; fi; \
|
||||
|
||||
Reference in New Issue
Block a user