Mercurial > gnulib
annotate modules/stdlib @ 12016:4fac822214af
canonicalize-lgpl: use native realpath if it works
Forward-looking to when more platforms comply with POSIX 2008,
but don't provide glibc extensions. For example, this could
fix // handling in cygwin 1.7 (well, if cygwin didn't have bugs
in .. handling). canonicalize can't use native realpath, for
the same reason that it does not use resolvepath.
* lib/canonicalize-lgpl.c (realpath): Guard with
FUNC_REALPATH_WORKS.
* lib/stdlib.in.h (realpath): Make declaration optional based on
HAVE_REALPATH.
* m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
native realpath works.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
* modules/stdlib (Makefile.am): Substitute witness.
Signed-off-by: Eric Blake <ebb9@byu.net>
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Thu, 10 Sep 2009 15:44:15 -0600 |
parents | 9317d4a9ac96 |
children | 586fda772b8f |
rev | line source |
---|---|
8190 | 1 Description: |
2 A GNU-like <stdlib.h>. | |
3 | |
4 Files: | |
9263
bb62a6456893
Rename stdlib_.h to stdlib.in.h.
Bruno Haible <bruno@clisp.org>
parents:
9192
diff
changeset
|
5 lib/stdlib.in.h |
8190 | 6 m4/stdlib_h.m4 |
7 | |
8 Depends-on: | |
9781
118f0bb3f732
Fix commit from 2007-06-20.
Bruno Haible <bruno@clisp.org>
parents:
9545
diff
changeset
|
9 include_next |
8190 | 10 link-warning |
8459
530f0ba2b795
Ensure we get the mkstemp() declaration. On MacOS X, it comes from <unistd.h>.
Bruno Haible <bruno@clisp.org>
parents:
8198
diff
changeset
|
11 unistd |
11832
ff3dd373542b
stddef: fix NetBSD 5.0 NULL bug, rather than working around it
Eric Blake <ebb9@byu.net>
parents:
11428
diff
changeset
|
12 stddef |
11428
766299801152
modules/stdlib (Depends-on): Add stdint.
Simon Josefsson <simon@josefsson.org>
parents:
11086
diff
changeset
|
13 stdint |
8190 | 14 |
15 configure.ac: | |
16 gl_STDLIB_H | |
17 | |
18 Makefile.am: | |
19 BUILT_SOURCES += stdlib.h | |
20 | |
21 # We need the following in order to create <stdlib.h> when the system | |
22 # doesn't have one that works with the given compiler. | |
9263
bb62a6456893
Rename stdlib_.h to stdlib.in.h.
Bruno Haible <bruno@clisp.org>
parents:
9192
diff
changeset
|
23 stdlib.h: stdlib.in.h |
11868
67c2b22aff08
annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
Jim Meyering <meyering@redhat.com>
parents:
11832
diff
changeset
|
24 $(AM_V_GEN)rm -f $@-t $@ && \ |
8190 | 25 { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ |
10375
f96e845fc36d
Avoid some "gcc -pedantic" warnings.
Bruno Haible <bruno@clisp.org>
parents:
10001
diff
changeset
|
26 sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ |
f96e845fc36d
Avoid some "gcc -pedantic" warnings.
Bruno Haible <bruno@clisp.org>
parents:
10001
diff
changeset
|
27 -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ |
8995
1025663f7658
* m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
Paul Eggert <eggert@cs.ucla.edu>
parents:
8819
diff
changeset
|
28 -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \ |
11997 | 29 -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \ |
9190 | 30 -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \ |
12015
9317d4a9ac96
canonicalize, canonicalize-lgpl: use <stdlib.h>
Eric Blake <ebb9@byu.net>
parents:
12008
diff
changeset
|
31 -e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|$(GNULIB_CANONICALIZE_FILE_NAME)|g' \ |
10673 | 32 -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \ |
8198
d84ab7c183f4
getsubopt.h is replaced with <stdlib.h>.
Bruno Haible <bruno@clisp.org>
parents:
8190
diff
changeset
|
33 -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \ |
11997 | 34 -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \ |
8190 | 35 -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \ |
11882 | 36 -e 's|@''GNULIB_MKOSTEMP''@|$(GNULIB_MKOSTEMP)|g' \ |
8190 | 37 -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \ |
9434
b839560eec9f
Define the putenv substitute in <stdlib.h> rather than in <config.h>.
Bruno Haible <bruno@clisp.org>
parents:
9315
diff
changeset
|
38 -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \ |
10704 | 39 -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \ |
11997 | 40 -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \ |
12015
9317d4a9ac96
canonicalize, canonicalize-lgpl: use <stdlib.h>
Eric Blake <ebb9@byu.net>
parents:
12008
diff
changeset
|
41 -e 's|@''GNULIB_REALPATH''@|$(GNULIB_REALPATH)|g' \ |
10001 | 42 -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \ |
9545
c596ca4e89b4
Split setenv module into setenv and unsetenv. Get rid of setenv.h.
Bruno Haible <bruno@clisp.org>
parents:
9434
diff
changeset
|
43 -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \ |
9821
18bab9955c43
Document various strtod bugs, with some fixes.
Eric Blake <ebb9@byu.net>
parents:
9781
diff
changeset
|
44 -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \ |
10671
459974cd8b12
Add strtoll() declaration to <stdlib.h>.
Bruno Haible <bruno@clisp.org>
parents:
10665
diff
changeset
|
45 -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \ |
10672
66414a3e577c
Add strtoull() declaration to <stdlib.h>.
Bruno Haible <bruno@clisp.org>
parents:
10671
diff
changeset
|
46 -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \ |
9545
c596ca4e89b4
Split setenv module into setenv and unsetenv. Get rid of setenv.h.
Bruno Haible <bruno@clisp.org>
parents:
9434
diff
changeset
|
47 -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \ |
10673 | 48 -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ |
9190 | 49 -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \ |
12015
9317d4a9ac96
canonicalize, canonicalize-lgpl: use <stdlib.h>
Eric Blake <ebb9@byu.net>
parents:
12008
diff
changeset
|
50 -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ |
11997 | 51 -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ |
8198
d84ab7c183f4
getsubopt.h is replaced with <stdlib.h>.
Bruno Haible <bruno@clisp.org>
parents:
8190
diff
changeset
|
52 -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ |
9192 | 53 -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \ |
8190 | 54 -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ |
11882 | 55 -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ |
11997 | 56 -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \ |
57 -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \ | |
9191
c7875dab3c3e
New module 'realloc-posix'.
Bruno Haible <bruno@clisp.org>
parents:
9190
diff
changeset
|
58 -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \ |
12016
4fac822214af
canonicalize-lgpl: use native realpath if it works
Eric Blake <ebb9@byu.net>
parents:
12015
diff
changeset
|
59 -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \ |
10001 | 60 -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ |
9545
c596ca4e89b4
Split setenv module into setenv and unsetenv. Get rid of setenv.h.
Bruno Haible <bruno@clisp.org>
parents:
9434
diff
changeset
|
61 -e 's|@''HAVE_SETENV''@|$(HAVE_SETENV)|g' \ |
9821
18bab9955c43
Document various strtod bugs, with some fixes.
Eric Blake <ebb9@byu.net>
parents:
9781
diff
changeset
|
62 -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ |
10671
459974cd8b12
Add strtoll() declaration to <stdlib.h>.
Bruno Haible <bruno@clisp.org>
parents:
10665
diff
changeset
|
63 -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ |
10672
66414a3e577c
Add strtoull() declaration to <stdlib.h>.
Bruno Haible <bruno@clisp.org>
parents:
10671
diff
changeset
|
64 -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ |
10719
620520e8b04c
stdlib: Provide struct random_data.
Simon Josefsson <simon@josefsson.org>
parents:
10704
diff
changeset
|
65 -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ |
10665
5394a3a10398
Add a getloadavg() declaration to <stdlib.h>.
Bruno Haible <bruno@clisp.org>
parents:
10375
diff
changeset
|
66 -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ |
9545
c596ca4e89b4
Split setenv module into setenv and unsetenv. Get rid of setenv.h.
Bruno Haible <bruno@clisp.org>
parents:
9434
diff
changeset
|
67 -e 's|@''HAVE_UNSETENV''@|$(HAVE_UNSETENV)|g' \ |
8190 | 68 -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ |
9434
b839560eec9f
Define the putenv substitute in <stdlib.h> rather than in <config.h>.
Bruno Haible <bruno@clisp.org>
parents:
9315
diff
changeset
|
69 -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ |
12015
9317d4a9ac96
canonicalize, canonicalize-lgpl: use <stdlib.h>
Eric Blake <ebb9@byu.net>
parents:
12008
diff
changeset
|
70 -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ |
9821
18bab9955c43
Document various strtod bugs, with some fixes.
Eric Blake <ebb9@byu.net>
parents:
9781
diff
changeset
|
71 -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ |
9545
c596ca4e89b4
Split setenv module into setenv and unsetenv. Get rid of setenv.h.
Bruno Haible <bruno@clisp.org>
parents:
9434
diff
changeset
|
72 -e 's|@''VOID_UNSETENV''@|$(VOID_UNSETENV)|g' \ |
8190 | 73 -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ |
9263
bb62a6456893
Rename stdlib_.h to stdlib.in.h.
Bruno Haible <bruno@clisp.org>
parents:
9192
diff
changeset
|
74 < $(srcdir)/stdlib.in.h; \ |
11868
67c2b22aff08
annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
Jim Meyering <meyering@redhat.com>
parents:
11832
diff
changeset
|
75 } > $@-t && \ |
8190 | 76 mv $@-t $@ |
77 MOSTLYCLEANFILES += stdlib.h stdlib.h-t | |
78 | |
79 Include: | |
12008
18ea6ab4e81d
maint: make Include sections of modules consistent
Eric Blake <ebb9@byu.net>
parents:
11997
diff
changeset
|
80 <stdlib.h> |
8190 | 81 |
82 License: | |
9315
be88e4511678
Change license to LGPLv2+ on dummy, float, realloc, stdlib.
Simon Josefsson <simon@josefsson.org>
parents:
9263
diff
changeset
|
83 LGPLv2+ |
8190 | 84 |
85 Maintainer: | |
86 all |