From 60b4ba664df4642893c35ae81dd47ff3396d40ec Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sat, 4 Sep 2010 11:01:27 +0200 Subject: Set PATH_SEPARATOR the same way autoconf does. * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR the same way autoconf-generated configure scripts do. * posix-modules: Likewise. --- posix-modules | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'posix-modules') diff --git a/posix-modules b/posix-modules index 46de93d260..b93b28381a 100755 --- a/posix-modules +++ b/posix-modules @@ -115,15 +115,14 @@ func_gnulib_dir () # explicit canonicalization command when $PATH contains no empty fields. self_abspathname= if test "${PATH_SEPARATOR+set}" != set; then - func_tmpdir - { echo "#! /bin/sh"; echo "exit 0"; } > "$tmp"/conf.sh - chmod +x "$tmp"/conf.sh - if (PATH="/nonexistent;$tmp"; conf.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -rf "$tmp" + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } fi if test "$PATH_SEPARATOR" = ";"; then # On Windows, programs are searched in "." before $PATH. -- cgit v1.2.1