canonicalize, canonicalize-lgpl: use <stdlib.h>
authorEric Blake <ebb9@byu.net>
Fri, 11 Sep 2009 18:18:10 +0000 (12:18 -0600)
committerEric Blake <ebb9@byu.net>
Fri, 18 Sep 2009 01:16:24 +0000 (19:16 -0600)
commit99ad8ac789556142ef090fcaefae36aabef00ca4
tree242e67e4150c55b20d71144283319f7749ae1925
parent8e7fa996cb189829ed7c9a4f2f489b9150a6571d
canonicalize, canonicalize-lgpl: use <stdlib.h>

Match current gnulib conventions of glibc functions being declared in
the same header as glibc.  This makes it easier to replace broken
canonicalize_file_name.  canonicalize still requires "canonicalize.h"
because canonicalize_filename_mode is not in glibc.  With this patch,
canonicalize-lgpl always provides realpath and canonicalize_file_name,
while canonicalize can provide canonicalize_file_name but not
realpath; if both modules are in use, canonicalize_file_name comes
from the LGPLv2+ sources, but the testing comes from canonicalize.

* modules/canonicalize-lgpl (Files): Drop canonicalize.h.
(Include): Mention <stdlib.h>.
(configure.ac): Mention functions we provide.
* modules/canonicalize (configure.ac): Likewise.
* m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
realpath if canonicalize_file_name is missing.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
* modules/stdlib (Makefile.am): Substitute witnesses.
* lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
* lib/canonicalize-lgpl.c (includes): Adjust accordingly.
* lib/canonicalize.h (canonicalize_file_name): Drop declaration.
* NEWS: Document this.
* doc/glibc-functions/canonicalize_file_name.texi
(canonicalize_file_name): Likewise.
* doc/posix-functions/realpath.texi (realpath): Likewise.
* tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.

Signed-off-by: Eric Blake <ebb9@byu.net>
13 files changed:
ChangeLog
NEWS
doc/glibc-functions/canonicalize_file_name.texi
doc/posix-functions/realpath.texi
lib/canonicalize-lgpl.c
lib/canonicalize.h
lib/stdlib.in.h
m4/canonicalize-lgpl.m4
m4/stdlib_h.m4
modules/canonicalize
modules/canonicalize-lgpl
modules/stdlib
tests/test-canonicalize-lgpl.c