From 5c1faba5e99fac913e675f93b5afb847d87cc60a Mon Sep 17 00:00:00 2001 From: Stelian Pop Date: Sun, 7 Nov 1999 18:53:33 +0000 Subject: [PATCH] Use internal glob on libc5 systems (no ALTDIRFUNC). --- CHANGES | 9 ++++- configure | 101 +++++++++++++++++++++++++++++++++++++++++++++------ configure.in | 19 +++++++++- 3 files changed, 115 insertions(+), 14 deletions(-) diff --git a/CHANGES b/CHANGES index 98793c8..7c1973a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,11 @@ -$Id: CHANGES,v 1.13 1999/11/05 22:02:11 tiniou Exp $ +$Id: CHANGES,v 1.14 1999/11/07 18:53:33 tiniou Exp $ + +Changes between versions 0.4b9 and 0.4b10 (released ???????????????) +==================================================================== + +1. Make configure test if the system glob routines support + extended syntax (ALTDIRFUNC). If not, use the internal glob + routines instead of system ones. Changes between versions 0.4b8 and 0.4b9 (released November 5, 1999) ==================================================================== diff --git a/configure b/configure index 7c8e470..5102012 100755 --- a/configure +++ b/configure @@ -1615,7 +1615,7 @@ if test "$ext2fs_h" = no -o "$ext2fs_lib" = no; then { echo "configure: error: You need to install the Ext2fs libraries from the E2fsprogs distribution first" 1>&2; exit 1; } fi -for ac_func in err errx verr verrx vwarn vwarnx warn warnx realpath glob lchown +for ac_func in err errx verr verrx vwarn vwarnx warn warnx realpath lchown do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:1622: checking for $ac_func" >&5 @@ -1670,14 +1670,91 @@ else fi done +echo $ac_n "checking for glob""... $ac_c" 1>&6 +echo "configure:1675: checking for glob" >&5 +if eval "test \"`echo '$''{'ac_cv_func_glob'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char glob(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_glob) || defined (__stub___glob) +choke me +#else +glob(); +#endif + +; return 0; } +EOF +if { (eval echo configure:1703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_glob=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_glob=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'glob`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 +fi + + +if test "$ac_cv_func_glob" = "yes"; then + cat > conftest.$ac_ext < +# ifdef GLOB_ALTDIRFUNC + yes +# endif + +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + cat >> confdefs.h <<\EOF +#define HAVE_GLOB 1 +EOF + +else + rm -rf conftest* + noglob=yes +fi +rm -f conftest* + + if test "$noglob" = "yes"; then + echo "Your system does not support extended glob, will use the internal routines" + fi +fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1676: checking for ANSI C header files" >&5 +echo "configure:1753: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1685,7 +1762,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1689: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1702,7 +1779,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1720,7 +1797,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1741,7 +1818,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1752,7 +1829,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1776,12 +1853,12 @@ EOF fi echo $ac_n "checking for quad_t""... $ac_c" 1>&6 -echo "configure:1780: checking for quad_t" >&5 +echo "configure:1857: checking for quad_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_quad_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -1809,12 +1886,12 @@ EOF fi echo $ac_n "checking for u_quad_t""... $ac_c" 1>&6 -echo "configure:1813: checking for u_quad_t" >&5 +echo "configure:1890: checking for u_quad_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_u_quad_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS diff --git a/configure.in b/configure.in index adc764b..44a81a5 100644 --- a/configure.in +++ b/configure.in @@ -215,7 +215,24 @@ fi dnl dnl Check for library functions dnl -AC_CHECK_FUNCS(err errx verr verrx vwarn vwarnx warn warnx realpath glob lchown) +AC_CHECK_FUNCS(err errx verr verrx vwarn vwarnx warn warnx realpath lchown) +AC_CHECK_FUNC(glob) + +dnl +dnl Check for GLOB_ALTDIRFUNC +dnl +if test "$ac_cv_func_glob" = "yes"; then + AC_EGREP_CPP(yes, + [ +# include +# ifdef GLOB_ALTDIRFUNC + yes +# endif + ], AC_DEFINE(HAVE_GLOB), noglob=yes) + if test "$noglob" = "yes"; then + echo "Your system does not support extended glob, will use the internal routines" + fi +fi dnl dnl Check for types -- 2.39.2