It can be replaced by a subshell'd cd just fine. (cd gcc/m2; autoconf-2.69) gcc/m2/ChangeLog: * configure.ac: Stop probing for realpath. * tools-src/calcpath: Break dependency on realpath, cut and echo. * configure: Rebuilt --- gcc/m2/configure.ac | 5 ----- gcc/m2/tools-src/calcpath | 34 ++++++++++++++++++---------------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/gcc/m2/configure.ac b/gcc/m2/configure.ac index 756e01c4321..5583af7f64c 100644 --- a/gcc/m2/configure.ac +++ b/gcc/m2/configure.ac @@ -24,11 +24,6 @@ AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_CANONICAL_TARGET -AC_CHECK_PROGS(regex_realpath, realpath) -if test x$regex_realpath = "x" ; then - AC_MSG_ERROR([realpath is required to build GNU Modula-2 (hint install coreutils).]) -fi - AC_CHECK_FUNCS([stpcpy]) AC_CHECK_HEADERS(sys/types.h) diff --git a/gcc/m2/tools-src/calcpath b/gcc/m2/tools-src/calcpath index e0817704f64..05324513aa1 100755 --- a/gcc/m2/tools-src/calcpath +++ b/gcc/m2/tools-src/calcpath @@ -23,27 +23,29 @@ Usage () { - echo "Usage: calcpath pathcomponent1 pathcomponent2 subdir" - echo -n " if pathcomponent1 is relative then pathcomponent1/pathcomponet2/subdir is" - echo " returned" - echo " otherwise pathcomponet2/subdir is returned" - echo " the path is checked for legality in subdir." + cat<<EOF +Usage: $0 pathcomponent1 pathcomponent2 subdir + if pathcomponent2 is relative then pathcomponent1/pathcompinent2/subdir is returned + otherwise pathcomponent2/subdir is returned + the path is checked for legality in subdir. +EOF } +die () { + printf "calcpath: error: %s\n" "$1" >&2 + exit 1 +} if [ $# -eq 3 ]; then - if [ "$(echo $2 | cut -b 1)" = "." ] ; then - # relative path - the_path=$1/$2/$3 + case "$2" in + /*) the_path="$2/$3" ;; + *) the_path="$1/$2/$3" ;; + esac + cd "$3" || die "could not access $3" + if ( cd "$the_path" ); then + printf '%s\n' "${the_path}" else - the_path=$2/$3 - fi - cd $3 - if realpath ${the_path} > /dev/null ; then - echo ${the_path} - else - echo "calcpath: error ${the_path} is not a valid path in subdirectory $3" 1>&2 - exit 1 + die "${the_path} is not a valid path in subdirectory $3" fi else Usage -- 2.39.0
[committed, pushed] PR-107607 m2: Remove bdepend on realpath, cut and echo
Gaius Mulley via Gcc-patches Thu, 15 Dec 2022 06:31:07 -0800