Paul Eggert [Fri, 1 Sep 2006 19:54:35 +0000 (19:54 +0000)]
* lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
Problem reported by Ralf Wildenhues in
<http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
* m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
not gl_GETLOADAVG. Omit unneeded semicolons.
Problems reported by Ralf Wildenhues in
<http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
(gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define. Put
at the end, which is the usual gnulib style.
Paul Eggert [Fri, 1 Sep 2006 19:49:22 +0000 (19:49 +0000)]
* lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
HAVE_STRUCT_STATFS_F_FSTYPENAME.
* m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
of doing all the work ourselves.
* m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
Paul Eggert [Thu, 31 Aug 2006 22:29:00 +0000 (22:29 +0000)]
* modules/getloadavg (Files): Add m4/getloadavg.m4.
(configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
the former is now obsolescent.
* lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
or stdbool.h, because they might not exist while configuring.
* m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
obsolescent, and programs should use gnulib instead.
* m4/getloadavg.m4: New file, with contents taken from Autoconf
but with prefixes changed.
Paul Eggert [Thu, 31 Aug 2006 21:54:54 +0000 (21:54 +0000)]
* lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
Don't include unistd.h or limits.h; not needed, since chdir-long.h
does that for us.
(O_DIRECTORY): Remove.
* modules/chdir-long (Depends-on): Add fcntl.
Paul Eggert [Thu, 31 Aug 2006 07:00:50 +0000 (07:00 +0000)]
Work around a bug in both the Linux and SunOS 64-bit kernels:
nanosleep mishandles sleeps for longer than 2**31 seconds.
Problem reported by Frank v Waveren in
<http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
* lib/nanosleep.c (BILLION): New constant.
(getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
(rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new implementation.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
* modules/nanosleep (Depends-on): Add gettime.
Paul Eggert [Wed, 30 Aug 2006 18:13:34 +0000 (18:13 +0000)]
* MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
* gnulib-tool (func_import): New license type 'unmodifiable license
text'.
* modules/fdl: Use it. Longer description.
* module/gpl, module/lgpl: New files.
Paul Eggert [Mon, 28 Aug 2006 20:42:17 +0000 (20:42 +0000)]
* lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
* lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
just before including <inttypes.h>, to avoid circular inclusion.
* m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
* m4/stdint.m4 (gl_STDINT_H): ... from here. This undoes the most recent
change to stdint.m4, since we're now addressing the problem in a
different way.
* modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
Paul Eggert [Mon, 28 Aug 2006 19:39:49 +0000 (19:39 +0000)]
* gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
into output, since the output might be called Makefile.am even
if $makefile_name is something different.
(func_import): Use $makefile_am rather than
${makefile_name-Makefile.am}, to fix a bug where makefile_name was
empty.
Paul Eggert [Sat, 26 Aug 2006 06:39:32 +0000 (06:39 +0000)]
New config-h module, so that "make" output needn't be cluttered
by -DHAVE_CONFIG_H.
* MODULES.html.sh (Support for building libraries and executables):
Add config-h.
* modules/config-h: New file.
* gnulib-tool (nl, sed_transform_lib_file): New vars.
(func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
the config-h module is used.
* m4/config-h.m4: New file.
Paul Eggert [Fri, 25 Aug 2006 23:14:53 +0000 (23:14 +0000)]
New configmake module, so that "make" output needn't be cluttered
by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
* MODULES.html.sh (Support for building libraries and executables):
Add configmake.
* modules/configmake: New file.
Paul Eggert [Thu, 24 Aug 2006 20:15:12 +0000 (20:15 +0000)]
* MODULES.html.sh (Support for building libraries and executables):
Add elisp-comp.
* build-aux/elisp-comp: New file.
* modules/elisp-comp: New file.
* config/srclist.txt: Add elisp-comp.
Paul Eggert [Tue, 22 Aug 2006 17:34:55 +0000 (17:34 +0000)]
* lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
<utmpx.h> exists.
* m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
<utmpx.h> exists.
* lib/strtoimax.c: Adjust to macro name changes in Autoconf,
e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
* lib/xtime.h: Likewise.
Remove files that are no longer needed by their respective modules.
* m4/obstack.m4: Remove.
* m4/strerror_r.m4: Remove.
* m4/uint32_t.m4: Remove.
* m4/uintptr_t.m4: Remove.
* m4/ullong_max.m4: Remove.
* m4/xstrtoimax.m4: Remove.
* m4/xstrtoumax.m4: Remove.
* cycle-check.m4 (gl_CYCLE_CHECK): Do not require gl_AC_TYPE_UINTMAX_T,
gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib dependencies now
capture this.
* cycle-check.m4 (gl_CYCLE_CHECK):
Do not use AC_LIBSOURCES, since gnulib modules now do this.
* fsusage.m4 (gl_FSUSAGE): Likewise.
* human.m4 (gl_HUMAN): Likewise.
* inttostr.m4 (gl_INTTOSTR): Likewise.
* xstrtol.m4 (gl_XSTRTOL): Likewise.
Paul Eggert [Sat, 19 Aug 2006 22:17:01 +0000 (22:17 +0000)]
* modules/openat (Files): Add lib/fchmodat.c.
* lib/fchmodat.c: New file, from coreutils. This was inadvertently
omitted in the 2006-08-17 update. Problem reported by Jay Youngman.
Paul Eggert [Fri, 18 Aug 2006 18:35:07 +0000 (18:35 +0000)]
* lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
(ME_DUMMY): Treat "kernfs" as a dummy.
(read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
sys/statvfs.h. When getmntinfo was found, check its declaration and
set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
Paul Eggert [Thu, 17 Aug 2006 20:34:21 +0000 (20:34 +0000)]
Update from coreutils.
* lib/__fpending.h: Add copyright notice.
* lib/fprintftime.h: Likewise.
* lib/savedir.c: Use (C) in copyright notice.
* lib/savedir.h: Likewise.
2006-08-15 Jim Meyering <jim@meyering.net>
* lib/at-func.c: New file, with the logic of all emulated at-functions.
* lib/openat-priv.h: Include <errno.h> and define ENOSYS,
in support of the EXPECTED_ERRNO macro.
* lib/openat.c (fstatat, unlinkat, fchownat): Remove function definitions.
Instead, define the appropriate symbols and include "at-func.c".
* lib/mkdirat.c (mkdirat): Likewise.
* lib/fchmodat.c (fchmodat): Likewise.
(ENOSYS): Remove definition.
* lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does it.
Don't include "unistd--.h" -- it wasn't ever used.
2006-01-17 Jim Meyering <jim@meyering.net>
Rewrite fts.c not to change the current working directory,
by using openat, fstatat, fdopendir, etc..
* lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
(HAVE_OPENAT_SUPPORT): Define.
[_LIBC] (fchdir): Don't undef or define; no longer used.
(FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
Now, this `function' always succeeds, and consumes its file descriptor
parameter -- so callers must not close such FDs. Update callers.
(diropen_fd, opendirat, cwd_advance_fd): New functions.
(diropen): Add parameter, SP. Adjust all callers.
Implement using diropen_fd, rather than open.
(fts_open): Initialize new member, fts_cwd_fd.
Remove fts_rft-setting code.
(fts_close): Close fts_cwd_fd, if necessary.
(__opendir2): Define in terms of opendir or opendirat,
depending on whether the FST_NOCHDIR flag is set.
(fts_build): Since fts_safe_changedir consumes its FD, and since
this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
and close the dup'd file descriptor upon failure.
(fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
(fts_safe_changedir): Tweak semantics to reflect that this function
now calls cwd_advance_fd and hence consumes its FD argument.
* lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
[struct FTS] (fts_rft): Remove now-unused member.
[struct FTS] (fts_cycle.state): Improve comment.
* lib/openat.c (openat_needs_fchdir): New function.
* lib/openat.h (openat_needs_fchdir): Declare it.
2006-08-15 Jim Meyering <jim@meyering.net>
* m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
2006-01-17 Jim Meyering <jim@meyering.net>
* m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
2006-01-11 Jim Meyering <jim@meyering.net>
* m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
Check for the lchmod function.