summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd C. Miller <Todd.Miller@sudo.ws>2023-05-01 09:35:34 -0600
committerTodd C. Miller <Todd.Miller@sudo.ws>2023-05-01 09:35:34 -0600
commitb3a0d009b185e599622d4722010ae0278eeee5fc (patch)
treedddc6cb455fb3df5ede8f71c0261cde50e19d2a8
parent69d3ec2ae5f99b4c1bd11d53685d7170dff2f1b2 (diff)
downloadsudo-b3a0d009b185e599622d4722010ae0278eeee5fc.tar.gz
Regenerate with latest autoconf from git.
-rw-r--r--config.h.in11
-rwxr-xr-xconfigure560
2 files changed, 227 insertions, 344 deletions
diff --git a/config.h.in b/config.h.in
index 6389dc68f..9366f310a 100644
--- a/config.h.in
+++ b/config.h.in
@@ -38,8 +38,8 @@
/* Define to 1 if you want to require fully qualified hosts in sudoers. */
#undef FQDN
-/* Define to the type of elements in the array set by 'getgroups'. Usually
- this is either 'int' or 'gid_t'. */
+/* Define to the type of elements in the array argument to 'getgroups'.
+ Usually this is either 'int' or 'gid_t'. */
#undef GETGROUPS_T
/* Define to 1 if you want insults from the "Goon Show". */
@@ -1465,7 +1465,7 @@
/* Define to empty if 'const' does not conform to ANSI C. */
#undef const
-/* Define to 'int' if <sys/types.h> doesn't define. */
+/* Define as 'int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to '__inline__' or '__inline' if that's what the C compiler
@@ -1497,10 +1497,7 @@
/* Define to an OS-specific initialization function or 'os_init_common'. */
#undef os_init
-/* Define to 'unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define to 'int' if <sys/types.h> doesn't define. */
+/* Define as 'int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define to the type of an unsigned integer type of width exactly 16 bits if
diff --git a/configure b/configure
index 2a8b219b4..99d198130 100755
--- a/configure
+++ b/configure
@@ -656,7 +656,6 @@ ac_header_c_list=
ac_func_c_list=
ac_c_werror_flag=
enable_year2038=yes
-enable_largefile=yes
ac_subst_vars='LTLIBOBJS
KRB5CONFIG
LIBOBJS
@@ -1060,11 +1059,11 @@ enable_intercept
with_noexec
with_netsvc
enable_sia
+enable_largefile
with_pam_login
enable_pam_session
enable_kerb5_instance
enable_year2038
-enable_largefile
'
ac_precious_vars='SENDMAILPROG
VIPROG
@@ -1774,11 +1773,11 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-intercept fully qualified pathname of sudo_intercept.so
--disable-sia Disable SIA on Digital UNIX
+ --disable-largefile omit support for large files
--disable-pam-session Disable PAM session support
--enable-kerb5-instance instance string to append to the username (separated
by a slash)
- --disable-year2038 omit support for dates after Jan 2038
- --disable-largefile omit support for large files
+ --disable-year2038 don't support timestamps after 2038
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -3112,6 +3111,21 @@ static char *f (char * (*g) (char **, int), char **p, ...)
return s;
}
+/* C89 style stringification. */
+#define noexpand_stringify(a) #a
+const char *stringified = noexpand_stringify(arbitrary+token=sequence);
+
+/* C89 style token pasting. Exercises some of the corner cases that
+ e.g. old MSVC gets wrong, but not very hard. */
+#define noexpand_concat(a,b) a##b
+#define expand_concat(a,b) noexpand_concat(a,b)
+extern int vA;
+extern int vbee;
+#define aye A
+#define bee B
+int *pvA = &expand_concat(v,aye);
+int *pvbee = &noexpand_concat(v,bee);
+
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not \xHH hex character constants.
These do not provoke an error unfortunately, instead are silently treated
@@ -8999,9 +9013,10 @@ do
as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
+case `"$ac_path_SED" --version 2>&1` in #(
*GNU*)
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+#(
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
@@ -9082,9 +9097,10 @@ do
as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
+case `"$ac_path_GREP" --version 2>&1` in #(
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+#(
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
@@ -9155,9 +9171,10 @@ do
as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
+case `"$ac_path_EGREP" --version 2>&1` in #(
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+#(
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
@@ -9231,9 +9248,10 @@ do
as_fn_executable_p "$ac_path_FGREP" || continue
# Check for GNU ac_path_FGREP and select it if it is found.
# Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
+case `"$ac_path_FGREP" --version 2>&1` in #(
*GNU*)
ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+#(
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
@@ -19856,7 +19874,12 @@ done
#
# Check for large file and 64-bit time support.
#
- if test "$enable_largefile" != no
+# Check whether --enable-largefile was given.
+if test ${enable_largefile+y}
+then :
+ enableval=$enable_largefile;
+fi
+if test "$enable_largefile,$enable_year2038" != no,no
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable large file support" >&5
printf %s "checking for $CC option to enable large file support... " >&6; }
@@ -19899,6 +19922,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
test $ac_opt_found = no || break
done
CC="$ac_save_CC"
+
test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected" ;;
esac
fi
@@ -19909,15 +19933,10 @@ ac_have_largefile=yes
case $ac_cv_sys_largefile_opts in #(
"none needed") :
;; #(
+ "supported through gnulib") :
+ ;; #(
"support not detected") :
- ac_have_largefile=no
- if test $enable_largefile = required
-then :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error $? "support for large files is required
-See 'config.log' for more details" "$LINENO" 5; }
-fi ;; #(
+ ac_have_largefile=no ;; #(
"-D_FILE_OFFSET_BITS=64") :
printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h
@@ -19932,10 +19951,10 @@ printf "%s\n" "#define _LARGE_FILES 1" >>confdefs.h
as_fn_error $? "internal error: bad value for \$ac_cv_sys_largefile_opts" "$LINENO" 5 ;;
esac
- if test "$enable_year2038" != no
+if test "$enable_year2038" != no
then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable timestamps after Jan 2038" >&5
-printf %s "checking for $CC option to enable timestamps after Jan 2038... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5
+printf %s "checking for $CC option for timestamps after 2038... " >&6; }
if test ${ac_cv_sys_year2038_opts+y}
then :
printf %s "(cached) " >&6
@@ -19986,49 +20005,12 @@ case $ac_cv_sys_year2038_opts in #(
"none needed") :
;; #(
"support not detected") :
- ac_have_year2038=no
- case $enable_year2038 in #(
- required) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error $? "support for timestamps after Jan 2038 is required
-See 'config.log' for more details" "$LINENO" 5; } ;; #(
- yes) :
- # If we're not cross compiling and 'touch' works with a large
- # timestamp, then we can presume the system supports wider time_t
- # *somehow* and we just weren't able to detect it. One common
- # case that we deliberately *don't* probe for is a system that
- # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
- # wide time_t. (It would be inappropriate for us to override an
- # intentional use of -m32.) Error out, demanding use of
- # --disable-year2038 if this is intentional.
- if test $cross_compiling = no
-then :
- if TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null
-then :
- case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in #(
- *'Feb 7 2106'* | *'Feb 7 17:10'*) :
- { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
-printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
-as_fn_error $? "this system appears to support timestamps after
-January 2038, but no mechanism for enabling wide
-'time_t' was detected. Did you mean to build a 64-bit
-binary? (e.g. 'CC=\"${CC} -m64\"'.) To proceed with
-32-bit time_t, configure with '--disable-year2038'.
-See 'config.log' for more details" "$LINENO" 5; } ;; #(
- *) :
- ;;
-esac
-fi
-fi ;; #(
- *) :
- ;;
-esac ;; #(
+ ac_have_year2038=no ;; #(
"-D_TIME_BITS=64") :
printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h
;; #(
- "-D__MINGW_USE_VC2005_COMPAT=1") :
+ "-D__MINGW_USE_VC2005_COMPAT") :
printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h
;; #(
@@ -20036,7 +20018,7 @@ printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
as_fn_error $? "the 'time_t' type is currently forced to be 32-bit. It
-will stop working after January 2038. Remove
+will stop working after mid-January 2038. Remove
_USE_32BIT_TIME_T from the compiler flags.
See 'config.log' for more details" "$LINENO" 5; } ;; #(
*) :
@@ -20045,12 +20027,34 @@ esac
fi
-
-
fi
-
-
-
+if test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no
+then :
+ # If we're not cross compiling and 'touch' works with a large
+ # timestamp, then we can presume the system supports wider time_t
+ # *somehow* and we just weren't able to detect it. One common
+ # case that we deliberately *don't* probe for is a system that
+ # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
+ # wide time_t. (It would be inappropriate for us to override an
+ # intentional use of -m32.) Error out, demanding use of
+ # --disable-year2038 if this is intentional.
+ if TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null
+then :
+ case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in #(
+ *'Feb 7 2106'* | *'Feb 7 17:10'*) :
+ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
+as_fn_error $? "this system appears to support timestamps after
+mid-January 2038, but no mechanism for enabling wide
+'time_t' was detected. Did you mean to build a 64-bit
+binary? (E.g., 'CC=\"${CC} -m64\"'.) To proceed with
+32-bit time_t, configure with '--disable-year2038'.
+See 'config.log' for more details" "$LINENO" 5; } ;; #(
+ *) :
+ ;;
+esac
+fi
+fi
#
# Don't allow undefined symbols, even in shared libraries, if possible.
@@ -20799,172 +20803,27 @@ printf "%s\n" "#define HAVE_SOCKLEN_T 1" >>confdefs.h
fi
-
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep -e" >&5
-printf %s "checking for egrep -e... " >&6; }
-if test ${ac_cv_path_EGREP_TRADITIONAL+y}
+ac_fn_c_check_type "$LINENO" "uid_t" "ac_cv_type_uid_t" "$ac_includes_default"
+if test "x$ac_cv_type_uid_t" = xyes
then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if test -z "$EGREP_TRADITIONAL"; then
- ac_path_EGREP_TRADITIONAL_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in grep ggrep
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue
-# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found.
- # Check for GNU $ac_path_EGREP_TRADITIONAL
-case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;;
-*)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl"
- "$ac_path_EGREP_TRADITIONAL" -E 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL"
- ac_path_EGREP_TRADITIONAL_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
- $ac_path_EGREP_TRADITIONAL_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then
- :
- fi
-else
- ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL
-fi
-
- if test "$ac_cv_path_EGREP_TRADITIONAL"
-then :
- ac_cv_path_EGREP_TRADITIONAL="$ac_cv_path_EGREP_TRADITIONAL -E"
else case e in #(
- e) if test -z "$EGREP_TRADITIONAL"; then
- ac_path_EGREP_TRADITIONAL_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- case $as_dir in #(((
- '') as_dir=./ ;;
- */) ;;
- *) as_dir=$as_dir/ ;;
- esac
- for ac_prog in egrep
- do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP_TRADITIONAL="$as_dir$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP_TRADITIONAL" || continue
-# Check for GNU ac_path_EGREP_TRADITIONAL and select it if it is found.
- # Check for GNU $ac_path_EGREP_TRADITIONAL
-case `"$ac_path_EGREP_TRADITIONAL" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL" ac_path_EGREP_TRADITIONAL_found=:;;
-*)
- ac_count=0
- printf %s 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- printf "%s\n" 'EGREP_TRADITIONAL' >> "conftest.nl"
- "$ac_path_EGREP_TRADITIONAL" 'EGR(EP|AC)_TRADITIONAL$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_TRADITIONAL_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP_TRADITIONAL="$ac_path_EGREP_TRADITIONAL"
- ac_path_EGREP_TRADITIONAL_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_TRADITIONAL_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP_TRADITIONAL"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP_TRADITIONAL=$EGREP_TRADITIONAL
-fi
+ e)
+printf "%s\n" "#define uid_t int" >>confdefs.h
;;
esac
-fi ;;
-esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP_TRADITIONAL" >&5
-printf "%s\n" "$ac_cv_path_EGREP_TRADITIONAL" >&6; }
- EGREP_TRADITIONAL=$ac_cv_path_EGREP_TRADITIONAL
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-printf %s "checking for uid_t in sys/types.h... " >&6; }
-if test ${ac_cv_type_uid_t+y}
+ac_fn_c_check_type "$LINENO" "gid_t" "ac_cv_type_gid_t" "$ac_includes_default"
+if test "x$ac_cv_type_gid_t" = xyes
then :
- printf %s "(cached) " >&6
-else case e in #(
- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP_TRADITIONAL "uid_t" >/dev/null 2>&1
-then :
- ac_cv_type_uid_t=yes
else case e in #(
- e) ac_cv_type_uid_t=no ;;
-esac
-fi
-rm -rf conftest*
+ e)
+printf "%s\n" "#define gid_t int" >>confdefs.h
;;
esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-printf "%s\n" "$ac_cv_type_uid_t" >&6; }
-if test $ac_cv_type_uid_t = no; then
-
-printf "%s\n" "#define uid_t int" >>confdefs.h
-
-
-printf "%s\n" "#define gid_t int" >>confdefs.h
-
-fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking max length of uid_t" >&5
@@ -21894,103 +21753,133 @@ if test ${ac_cv_type_getgroups+y}
then :
printf %s "(cached) " >&6
else case e in #(
- e) if test "$cross_compiling" = yes
+ e) # If AC_TYPE_UID_T says there isn't any gid_t typedef, then we can skip
+# everything below.
+if test $ac_cv_type_gid_t = no
then :
- ac_cv_type_getgroups=cross
+ ac_cv_type_getgroups=int
else case e in #(
- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ e) # Test programs below rely on strict type checking of extern declarations:
+ # 'extern int getgroups(int, int *); extern int getgroups(int, pid_t *);'
+ # is valid in C89 if and only if pid_t is a typedef for int. Unlike
+ # anything involving either an assignment or a function call, compilers
+ # tend to make this kind of type mismatch a hard error, not just an
+ # "incompatible pointer types" warning.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-/* Thanks to Mike Rendell for this test. */
$ac_includes_default
-#define NGID 256
-#undef MAX
-#define MAX(x, y) ((x) > (y) ? (x) : (y))
-
+extern int getgroups(int, gid_t *);
int
main (void)
{
- gid_t gidset[NGID];
- int i, n;
- union { gid_t gval; long int lval; } val;
-
- val.lval = -1;
- for (i = 0; i < NGID; i++)
- gidset[i] = val.gval;
- n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
- gidset);
- /* Exit non-zero if getgroups seems to require an array of ints. This
- happens when gid_t is short int but getgroups modifies an array
- of ints. */
- return n > 0 && gidset[n] != val.gval;
+return !(getgroups(0, 0) >= 0);
+ ;
+ return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"
+if ac_fn_c_try_compile "$LINENO"
then :
- ac_cv_type_getgroups=gid_t
+ ac_getgroups_gidarray=yes
else case e in #(
- e) ac_cv_type_getgroups=int ;;
+ e) ac_getgroups_gidarray=no ;;
esac
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+extern int getgroups(int, int *);
+int
+main (void)
+{
+return !(getgroups(0, 0) >= 0);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ ac_getgroups_intarray=yes
+else case e in #(
+ e) ac_getgroups_intarray=no ;;
esac
fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
-if test $ac_cv_type_getgroups = cross; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ case int:$ac_getgroups_intarray,gid:$ac_getgroups_gidarray in #(
+ int:yes,gid:no) :
+ ac_cv_type_getgroups=int ;; #(
+ int:no,gid:yes) :
+ ac_cv_type_getgroups=gid_t ;; #(
+ int:yes,gid:yes) :
+
+ # Both programs compiled - this means *either* that getgroups
+ # was declared with no prototype, in which case we should use int,
+ # or that it was declared prototyped but gid_t is a typedef for int,
+ # in which case we should use gid_t. Distinguish the two cases
+ # by testing if the compiler catches a blatantly incorrect function
+ # signature for getgroups.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <unistd.h>
-
+$ac_includes_default
+extern int getgroups(int, float);
+int
+main (void)
+{
+return !(getgroups(0, 0) >= 0);
+ ;
+ return 0;
+}
_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP_TRADITIONAL "getgroups.*int.*gid_t" >/dev/null 2>&1
+if ac_fn_c_try_compile "$LINENO"
then :
- ac_cv_type_getgroups=gid_t
+
+ # Compiler did not catch incorrect argument list;
+ # getgroups is unprototyped.
+ ac_cv_type_getgroups=int
+
else case e in #(
- e) ac_cv_type_getgroups=int ;;
+ e)
+ # Compiler caught incorrect argument list;
+ # gid_t is a typedef for int.
+ ac_cv_type_getgroups=gid_t
+ ;;
esac
fi
-rm -rf conftest*
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ;; #(
+ *) :
-fi ;;
+ # Both programs failed to compile - this probably means getgroups
+ # wasn't declared at all. Use 'int', as this is probably a very
+ # old system where the type _would have been_ int.
+ ac_cv_type_getgroups=int
+ ;;
+esac
+ ;;
esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_getgroups" >&5
-printf "%s\n" "$ac_cv_type_getgroups" >&6; }
-
-printf "%s\n" "#define GETGROUPS_T $ac_cv_type_getgroups" >>confdefs.h
-
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes
-then :
-
-else case e in #(
- e)
-printf "%s\n" "#define size_t unsigned int" >>confdefs.h
;;
esac
fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_getgroups" >&5
+printf "%s\n" "$ac_cv_type_getgroups" >&6; }
+printf "%s\n" "#define GETGROUPS_T $ac_cv_type_getgroups" >>confdefs.h
-ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups"
-if test "x$ac_cv_func_getgroups" = xyes
-then :
-
-fi
-# If we don't yet have getgroups, see if it's in -lbsd.
+# On older systems getgroups might be in -lbsd.
# This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1.
ac_save_LIBS=$LIBS
-if test $ac_cv_func_getgroups = no; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5
-printf %s "checking for getgroups in -lbsd... " >&6; }
-if test ${ac_cv_lib_bsd_getgroups+y}
+LIBS=
+GETGROUPS_LIB=
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing getgroups" >&5
+printf %s "checking for library containing getgroups... " >&6; }
+if test ${ac_cv_search_getgroups+y}
then :
printf %s "(cached) " >&6
else case e in #(
- e) ac_check_lib_save_LIBS=$LIBS
-LIBS="-lbsd $LIBS"
+ e) ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -22012,70 +21901,75 @@ return getgroups ();
return 0;
}
_ACEOF
-if ac_fn_c_try_link "$LINENO"
+for ac_lib in '' bsd
+do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"
then :
- ac_cv_lib_bsd_getgroups=yes
+ ac_cv_search_getgroups=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext
+ if test ${ac_cv_search_getgroups+y}
+then :
+ break
+fi
+done
+if test ${ac_cv_search_getgroups+y}
+then :
+
else case e in #(
- e) ac_cv_lib_bsd_getgroups=no ;;
+ e) ac_cv_search_getgroups=no ;;
esac
fi
-rm -f core conftest.err conftest.$ac_objext conftest.beam \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS ;;
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS ;;
esac
fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5
-printf "%s\n" "$ac_cv_lib_bsd_getgroups" >&6; }
-if test "x$ac_cv_lib_bsd_getgroups" = xyes
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getgroups" >&5
+printf "%s\n" "$ac_cv_search_getgroups" >&6; }
+ac_res=$ac_cv_search_getgroups
+if test "$ac_res" != no
then :
- GETGROUPS_LIB=-lbsd
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+ test "$ac_res" = "none required" || GETGROUPS_LIB="$ac_res"
+ ac_cv_func_getgroups=yes
+else case e in #(
+ e) ac_cv_func_getgroups=no ;;
+esac
fi
-fi
+LIBS=$ac_save_LIBS
+
-# Run the program to test the functionality of the system-supplied
-# getgroups function only if there is such a function.
+# Known severe bugs in getgroups on particular systems.
+# - On Ultrix 4.3 and NextSTEP 3.2, getgroups (0, 0) is reported to
+# fail, rather than returning the number of supplementary groups as
+# it ought to. We do not know the exact range of releases affected
+# in either case.
+# We currently reject all versions of the systems with known bugs, and
+# no other systems. Please send corrections to bug-autoconf@gnu.org.
if test $ac_cv_func_getgroups = yes; then
+ # This AC_CACHE_CHECK exists so that one may override an incorrect
+ # guess by setting ac_cv_func_getgroups_works in a config.site file.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5
printf %s "checking for working getgroups... " >&6; }
if test ${ac_cv_func_getgroups_works+y}
then :
printf %s "(cached) " >&6
else case e in #(
- e) if test "$cross_compiling" = yes
-then :
- case "$host_os" in # ((
- # Guess yes on glibc systems.
- *-gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
- # If we don't know, assume the worst.
- *) ac_cv_func_getgroups_works="guessing no" ;;
- esac
-else case e in #(
- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main (void)
-{
-/* On Ultrix 4.3, getgroups (0, 0) always fails. */
- return getgroups (0, 0) == -1;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"
-then :
- ac_cv_func_getgroups_works=yes
-else case e in #(
- e) ac_cv_func_getgroups_works=no ;;
-esac
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
-esac
-fi
-
- ;;
+ e) case $host_os in #(
+ ultrix* | nextstep*) :
+ ac_cv_func_getgroups_works=no # getgroups(0,0) fails
+ ;; #(
+ *) :
+ ac_cv_func_getgroups_works=yes ;;
+esac ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getgroups_works" >&5
@@ -22083,14 +21977,11 @@ printf "%s\n" "$ac_cv_func_getgroups_works" >&6; }
else
ac_cv_func_getgroups_works=no
fi
-case "$ac_cv_func_getgroups_works" in
- *yes)
+if test $ac_cv_func_getgroups_works = yes; then
printf "%s\n" "#define HAVE_GETGROUPS 1" >>confdefs.h
- ;;
-esac
-LIBS=$ac_save_LIBS
+fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for declarations of fseeko and ftello" >&5
printf %s "checking for declarations of fseeko and ftello... " >&6; }
@@ -24897,6 +24788,7 @@ fi
+
openssl_missing=no
if test "${enable_openssl-no}" != no; then
# Use pkg-config to find the openssl cflags and libs if possible.
@@ -35867,12 +35759,6 @@ then :
enableval=$enable_year2038;
fi
-# Check whether --enable-largefile was given.
-if test ${enable_largefile+y}
-then :
- enableval=$enable_largefile;
-fi
-
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0