# HG changeset patch # User Bruno Haible # Date 1283591803 -7200 # Node ID af42f5b6232d0e5b2f68b7d362e4ccef77364bdc # Parent c2d737898a4e7c85a7d92cd5e7d8dac8b25d5f2e Set PATH_SEPARATOR the same way autoconf does. * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine the value of PATH_SEPARATOR the same way autoconf-generated configure scripts do. * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise. * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-09-04 Bruno Haible + + Set PATH_SEPARATOR the same way autoconf does. + * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine + the value of PATH_SEPARATOR the same way autoconf-generated configure + scripts do. + * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise. + * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise. + 2010-09-04 Stefano Lattarini (tiny change) Set PATH_SEPARATOR the same way autoconf does. diff --git a/build-aux/relocatable.sh.in b/build-aux/relocatable.sh.in --- a/build-aux/relocatable.sh.in +++ b/build-aux/relocatable.sh.in @@ -62,15 +62,14 @@ */* | *\\*) ;; *) # Need to look in the PATH. 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 save_IFS="$IFS"; IFS="$PATH_SEPARATOR" for dir in $PATH; do diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 --- a/m4/lib-ld.m4 +++ b/m4/lib-ld.m4 @@ -1,4 +1,4 @@ -# lib-ld.m4 serial 4 (gettext-0.18) +# lib-ld.m4 serial 5 (gettext-0.18.2) dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -31,15 +31,14 @@ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh + # 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 ac_prog=ld if test "$GCC" = yes; then diff --git a/m4/progtest.m4 b/m4/progtest.m4 --- a/m4/progtest.m4 +++ b/m4/progtest.m4 @@ -1,4 +1,4 @@ -# progtest.m4 serial 6 (gettext-0.18) +# progtest.m4 serial 7 (gettext-0.18.2) dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -27,15 +27,14 @@ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh + # 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 # Find out how to test for executable files. Don't use a zero-byte file,