Hello Jim, Simon, * Jim Meyering wrote on Fri, Sep 22, 2006 at 09:03:40AM CEST: > Ralf Wildenhues <[EMAIL PROTECTED]> wrote: > > > > OK to apply these patches[...]
> A couple of nits: > - fsusage.m4 needs a serial number update. Done. > - at least one other file does, too. m4/ls-mntd-fs.m4 does. > - mkdir-slash.m4's serial number was incremented twice :-) As was sockpfaf.m4's. > - for those that now include unistd.h, > add AC_CHECK_HEADERS_ONCE(unistd.h), I did that. > or maybe even AC_REQUIRE([gl_HEADER_UNISTD]), > or just depend on the `unistd' module and drop the #ifdefs, > though I'm not sure the last will work for configure-time compiles. I didn't do any of these. The replacement header is currently empty: it would not help to declare `rmdir'. Besides, it won't work for configure time compiles (easily). Updated patches attached. > How did you test these changes? I used a megatest, as shown in another mail, and then manually inspected each hard failure (be that autogen, configure, build), and searched all config.log files for the keyword `warning' and some other suspicious stuff. > I've found it useful to compare the following (e.g., via coreutils), > before and after the change: > lib/config.h > ./configure output Yes. On my list of things to add was a test similar to the one in Autoconf's testsuite; that would check that caching works as intended, and that temporary files are cleaned up. There's a way to go though. * Simon Josefsson wrote: > I didn't test it, but at glance it seems fine to me. Thanks. I've installed the two portions as below; I suppose Bruno will have a say about the diff against the modules he maintains. Cheers, Ralf
Index: m4/sockpfaf.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/sockpfaf.m4,v retrieving revision 1.4 diff -u -r1.4 sockpfaf.m4 --- m4/sockpfaf.m4 5 Jul 2006 18:06:09 -0000 1.4 +++ m4/sockpfaf.m4 22 Sep 2006 17:28:03 -0000 @@ -1,4 +1,4 @@ -# sockpfaf.m4 serial 4 +# sockpfaf.m4 serial 5 dnl Copyright (C) 2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -28,7 +28,8 @@ #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif], -[int x = AF_INET; struct in_addr y; struct sockaddr_in z;], +[int x = AF_INET; struct in_addr y; struct sockaddr_in z; + if (&x && &y && &z) return 0;], gl_cv_socket_ipv4=yes, gl_cv_socket_ipv4=no)]) AC_MSG_RESULT($gl_cv_socket_ipv4) if test $gl_cv_socket_ipv4 = yes; then @@ -47,7 +48,8 @@ #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif], -[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z;], +[int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z; + if (&x && &y && &z) return 0;], gl_cv_socket_ipv6=yes, gl_cv_socket_ipv6=no)]) AC_MSG_RESULT($gl_cv_socket_ipv6) if test $gl_cv_socket_ipv6 = yes; then
Index: m4/fsusage.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/fsusage.m4,v retrieving revision 1.29 diff -u -r1.29 fsusage.m4 --- m4/fsusage.m4 7 Sep 2006 16:17:48 -0000 1.29 +++ m4/fsusage.m4 22 Sep 2006 17:32:58 -0000 @@ -1,4 +1,4 @@ -#serial 21 +#serial 22 # Obtaining file system usage information. # Copyright (C) 1997, 1998, 2000, 2001, 2003, 2004, 2005, 2006 Free Software @@ -242,7 +242,8 @@ #endif #include <sys/types.h> #include <sys/vfs.h>]], - [[struct statfs t; long c = *(t.f_spare);]])], + [[struct statfs t; long c = *(t.f_spare); + if (c) return 0;]])], [fu_cv_sys_truncating_statfs=yes], [fu_cv_sys_truncating_statfs=no])]) if test $fu_cv_sys_truncating_statfs = yes; then Index: m4/getdate.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/getdate.m4,v retrieving revision 1.11 diff -u -r1.11 getdate.m4 --- m4/getdate.m4 13 Sep 2006 20:14:57 -0000 1.11 +++ m4/getdate.m4 22 Sep 2006 17:32:58 -0000 @@ -1,4 +1,4 @@ -# getdate.m4 serial 11 +# getdate.m4 serial 12 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,7 +8,8 @@ [ AC_CACHE_CHECK([for compound literals], gl_cv_compound_literals, [AC_TRY_COMPILE([struct s { int i, j; }; struct s s = (struct s) { 1, 2 };], - [struct s t = (struct s) { 3, 4 };], + [struct s t = (struct s) { 3, 4 }; + if (t.i != 0) return 0;], gl_cv_compound_literals=yes, gl_cv_compound_literals=no)]) if test $gl_cv_compound_literals = yes; then Index: m4/jm-winsz1.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/jm-winsz1.m4,v retrieving revision 1.8 diff -u -r1.8 jm-winsz1.m4 --- m4/jm-winsz1.m4 23 Jan 2005 08:06:57 -0000 1.8 +++ m4/jm-winsz1.m4 22 Sep 2006 17:32:58 -0000 @@ -1,6 +1,6 @@ -#serial 8 +#serial 9 -# Copyright (C) 1996, 1999, 2001, 2002, 2004 Free Software Foundation, Inc. +# Copyright (C) 1996, 1999, 2001, 2002, 2004, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -30,13 +30,15 @@ jm_cv_sys_struct_winsize_needs_sys_ptem_h, [jm_cv_sys_struct_winsize_needs_sys_ptem_h=yes if test $ac_cv_sys_posix_termios = yes; then - AC_TRY_COMPILE([#include <termios.h>] - [struct winsize x;], + AC_TRY_COMPILE([#include <termios.h>], + [struct winsize x; + if (sizeof x > 0) return 0;], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no]) fi if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then AC_TRY_COMPILE([#include <sys/ptem.h>], - [struct winsize x;], + [struct winsize x; + if (sizeof x > 0) return 0;], [], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no]) fi]) if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then Index: m4/link-follow.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/link-follow.m4,v retrieving revision 1.12 diff -u -r1.12 link-follow.m4 --- m4/link-follow.m4 9 Jul 2006 01:31:04 -0000 1.12 +++ m4/link-follow.m4 22 Sep 2006 17:32:58 -0000 @@ -1,4 +1,4 @@ -#serial 8 +#serial 9 dnl Run a program to determine whether link(2) follows symlinks. dnl Set LINK_FOLLOWS_SYMLINKS accordingly. @@ -20,6 +20,7 @@ # include <sys/types.h> # include <sys/stat.h> # include <unistd.h> +# include <stdlib.h> # define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \ Index: m4/ls-mntd-fs.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/ls-mntd-fs.m4,v retrieving revision 1.35 diff -u -r1.35 ls-mntd-fs.m4 --- m4/ls-mntd-fs.m4 8 Sep 2006 09:10:57 -0000 1.35 +++ m4/ls-mntd-fs.m4 22 Sep 2006 17:32:58 -0000 @@ -1,4 +1,4 @@ -#serial 24 +#serial 25 # How to list mounted file systems. # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software @@ -141,7 +141,8 @@ # endif #endif ], - [ struct mntent *mnt = 0; char *table = MOUNTED; ], + [ struct mntent *mnt = 0; char *table = MOUNTED; + if (sizeof mnt > 0 && table > 0) return 0;], fu_cv_sys_mounted_getmntent1=yes, fu_cv_sys_mounted_getmntent1=no)]) AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1) Index: m4/mkdir-slash.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/mkdir-slash.m4,v retrieving revision 1.6 diff -u -r1.6 mkdir-slash.m4 --- m4/mkdir-slash.m4 23 Jan 2005 08:06:57 -0000 1.6 +++ m4/mkdir-slash.m4 22 Sep 2006 17:32:58 -0000 @@ -1,6 +1,6 @@ -#serial 4 +#serial 5 -# Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2004, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -10,6 +10,7 @@ # trailing slashes. AC_DEFUN([gl_FUNC_MKDIR_TRAILING_SLASH], [dnl + AC_CHECK_HEADERS_ONCE(unistd.h) AC_CACHE_CHECK([whether mkdir fails due to a trailing slash], gl_cv_func_mkdir_trailing_slash_bug, [ @@ -19,6 +20,9 @@ # include <sys/types.h> # include <sys/stat.h> # include <stdlib.h> +# ifdef HAVE_UNISTD_H +# include <unistd.h> +# endif int main () { rmdir ("confdir-slash"); Index: m4/physmem.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/physmem.m4,v retrieving revision 1.6 diff -u -r1.6 physmem.m4 --- m4/physmem.m4 21 Aug 2006 21:46:31 -0000 1.6 +++ m4/physmem.m4 22 Sep 2006 17:32:58 -0000 @@ -1,4 +1,4 @@ -# physmem.m4 serial 6 +# physmem.m4 serial 7 dnl Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -12,7 +12,8 @@ [AC_LINK_IFELSE([AC_LANG_PROGRAM( [[#include <sys/systemcfg.h> ]], - [double x = _system_configuration.physmem;])], + [double x = _system_configuration.physmem; + if (x > 0.0) return 0;])], [gl_cv_var__system_configuration=yes], [gl_cv_var__system_configuration=no])]) Index: m4/putenv.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/putenv.m4,v retrieving revision 1.17 diff -u -r1.17 putenv.m4 --- m4/putenv.m4 24 Apr 2006 07:35:24 -0000 1.17 +++ m4/putenv.m4 22 Sep 2006 17:32:58 -0000 @@ -1,4 +1,4 @@ -# putenv.m4 serial 11 +# putenv.m4 serial 12 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,25 +11,21 @@ AC_DEFUN([gl_FUNC_PUTENV], [AC_CACHE_CHECK([for SVID conformant putenv], jm_cv_func_svid_putenv, - [AC_TRY_RUN([ - int - main () - { - /* Put it in env. */ - if (putenv ("CONFTEST_putenv=val")) - return 1; + [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],[ + /* Put it in env. */ + if (putenv ("CONFTEST_putenv=val")) + return 1; - /* Try to remove it. */ - if (putenv ("CONFTEST_putenv")) - return 1; + /* Try to remove it. */ + if (putenv ("CONFTEST_putenv")) + return 1; - /* Make sure it was deleted. */ - if (getenv ("CONFTEST_putenv") != 0) - return 1; + /* Make sure it was deleted. */ + if (getenv ("CONFTEST_putenv") != 0) + return 1; - return 0; - } - ], + return 0; + ])], jm_cv_func_svid_putenv=yes, jm_cv_func_svid_putenv=no, dnl When crosscompiling, assume putenv is broken. Index: m4/readutmp.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/readutmp.m4,v retrieving revision 1.13 diff -u -r1.13 readutmp.m4 --- m4/readutmp.m4 22 Aug 2006 17:34:55 -0000 1.13 +++ m4/readutmp.m4 22 Sep 2006 17:32:58 -0000 @@ -1,4 +1,4 @@ -# readutmp.m4 serial 11 +# readutmp.m4 serial 12 dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -6,6 +6,9 @@ AC_DEFUN([gl_READUTMP], [ + dnl Persuade utmpx.h to declare utmpxname + AC_REQUIRE([AC_GNU_SOURCE]) + AC_CHECK_HEADERS_ONCE(utmp.h utmpx.h) if test $ac_cv_header_utmp_h = yes || test $ac_cv_header_utmpx_h = yes; then AC_LIBOBJ([readutmp]) Index: m4/rmdir-errno.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/rmdir-errno.m4,v retrieving revision 1.7 diff -u -r1.7 rmdir-errno.m4 --- m4/rmdir-errno.m4 17 Jun 2006 19:26:19 -0000 1.7 +++ m4/rmdir-errno.m4 22 Sep 2006 17:32:58 -0000 @@ -1,4 +1,4 @@ -#serial 7 +#serial 8 # Copyright (C) 2000, 2001, 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -12,6 +12,7 @@ # test runs a test to determine the actual numeric value. AC_DEFUN([gl_FUNC_RMDIR_NOTEMPTY], [dnl + AC_CHECK_HEADERS_ONCE(unistd.h) AC_CACHE_CHECK([for rmdir-not-empty errno value], gl_cv_func_rmdir_errno_not_empty, [ @@ -21,6 +22,9 @@ AC_TRY_RUN([ #include <stdio.h> #include <errno.h> +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif int main () { FILE *s; Index: m4/time_r.m4 =================================================================== RCS file: /cvsroot/gnulib/gnulib/m4/time_r.m4,v retrieving revision 1.5 diff -u -r1.5 time_r.m4 --- m4/time_r.m4 21 Aug 2006 21:46:31 -0000 1.5 +++ m4/time_r.m4 22 Sep 2006 17:32:58 -0000 @@ -19,7 +19,8 @@ [/* We don't need to append 'restrict's to the argument types, even though the POSIX signature has the 'restrict's, since C99 says they can't affect type compatibility. */ - struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r;], + struct tm * (*ptr) (time_t const *, struct tm *) = localtime_r; + if (ptr) return 0;], [gl_cv_time_r_posix=yes], [gl_cv_time_r_posix=no])]) if test $gl_cv_time_r_posix = yes; then