Mercurial > hg > octave-nkf > gnulib-hg
annotate doc/gnulib.texi @ 8743:5ca35995f234
Add doc chapter about the POSIX header files.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Fri, 27 Apr 2007 19:58:15 +0000 |
parents | c00e30e9aba4 |
children | dd2d58dfa0a8 |
rev | line source |
---|---|
5239 | 1 \input texinfo @c -*-texinfo-*- |
8743
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
2 @comment $Id: gnulib.texi,v 1.38 2007-04-27 19:58:15 haible Exp $ |
5239 | 3 @comment %**start of header |
4 @setfilename gnulib.info | |
5 @settitle GNU Gnulib | |
5256
e23bd8e9d368
import sections from Simon
Karl Berry <karl@freefriends.org>
parents:
5239
diff
changeset
|
6 @syncodeindex fn cp |
5239 | 7 @syncodeindex pg cp |
8 @comment %**end of header | |
9 | |
8743
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
10 @set UPDATED $Date: 2007-04-27 19:58:15 $ |
5239 | 11 |
12 @copying | |
13 This manual is for GNU Gnulib (updated @value{UPDATED}), | |
14 which is a library of common routines intended to be shared at the | |
15 source level. | |
16 | |
7778
1736cdb7eda4
document error/progname interaction
Karl Berry <karl@freefriends.org>
parents:
7618
diff
changeset
|
17 Copyright @copyright{} 2004, 2005, 2006, 2007 Free Software Foundation, Inc. |
5239 | 18 |
19 Permission is granted to copy, distribute and/or modify this document | |
20 under the terms of the GNU Free Documentation License, Version 1.1 or | |
21 any later version published by the Free Software Foundation; with no | |
7778
1736cdb7eda4
document error/progname interaction
Karl Berry <karl@freefriends.org>
parents:
7618
diff
changeset
|
22 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover |
1736cdb7eda4
document error/progname interaction
Karl Berry <karl@freefriends.org>
parents:
7618
diff
changeset
|
23 Texts. A copy of the license is included in the section entitled |
1736cdb7eda4
document error/progname interaction
Karl Berry <karl@freefriends.org>
parents:
7618
diff
changeset
|
24 ``GNU Free Documentation License.'' |
5239 | 25 @end copying |
26 | |
27 @dircategory Software development | |
28 @direntry | |
5257 | 29 * Gnulib: (gnulib). Source files to share among distributions. |
5239 | 30 @end direntry |
31 | |
32 @titlepage | |
33 @title GNU Gnulib | |
34 @subtitle updated @value{UPDATED} | |
35 @author @email{bug-gnulib@@gnu.org} | |
36 @page | |
37 @vskip 0pt plus 1filll | |
38 @insertcopying | |
39 @end titlepage | |
40 | |
41 @contents | |
42 | |
43 @ifnottex | |
44 @node Top | |
45 @top GNU Gnulib | |
46 | |
47 @insertcopying | |
48 @end ifnottex | |
49 | |
50 @menu | |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
51 * Introduction:: |
5239 | 52 * Invoking gnulib-tool:: |
7618
549e482b5ecd
* README: Fix typo.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents:
7548
diff
changeset
|
53 * Miscellaneous Notes:: |
8743
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
54 * Header File Substitutes:: |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
55 * Particular Modules:: Documentation of Individual Modules |
5239 | 56 * Copying This Manual:: |
57 * Index:: | |
58 @end menu | |
59 | |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
60 @node Introduction |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
61 @chapter Introduction |
5239 | 62 |
7548 | 63 Gnulib is a source code library. It provides basic functionalities to |
64 programs and libraries. Currently (as of October 2006) more than 30 | |
65 packages make use of Gnulib. | |
66 | |
67 Resources: | |
5239 | 68 |
69 @itemize | |
70 @item Gnulib is hosted at Savannah: | |
71 @url{http://savannah.gnu.org/projects/gnulib}. Get the sources | |
8597
c1709670004e
Talk primarily about git, not CVS.
Bruno Haible <bruno@clisp.org>
parents:
8475
diff
changeset
|
72 through git or CVS from there. |
5239 | 73 @item The Gnulib home page: |
74 @url{http://www.gnu.org/software/gnulib/}. | |
75 @end itemize | |
76 | |
7548 | 77 @menu |
78 * Library vs. Reusable Code:: | |
79 * Portability and Application Code:: | |
80 * Modules:: | |
81 * Various Kinds of Modules:: | |
82 * Collaborative Development:: | |
83 * Copyright:: | |
84 * Steady Development:: | |
85 * Openness:: | |
86 @end menu | |
87 | |
88 @include gnulib-intro.texi | |
89 | |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
90 |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
91 @include gnulib-tool.texi |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
92 |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
93 |
7618
549e482b5ecd
* README: Fix typo.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents:
7548
diff
changeset
|
94 @node Miscellaneous Notes |
549e482b5ecd
* README: Fix typo.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents:
7548
diff
changeset
|
95 @chapter Miscellaneous Notes |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
96 |
5239 | 97 @menu |
98 * Comments:: | |
5260
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
99 * Header files:: |
5239 | 100 * Out of memory handling:: |
5938
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
101 * Library version handling:: |
6852
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
102 * Windows sockets:: |
6962
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
103 * Libtool and Windows:: |
7334
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
104 * License Texinfo sources:: |
8433
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
105 * Build robot for gnulib:: |
5239 | 106 @end menu |
107 | |
5982
8f55c4ac38d6
updates from Patrice, start at quoting
Karl Berry <karl@freefriends.org>
parents:
5938
diff
changeset
|
108 |
5239 | 109 @node Comments |
110 @section Comments | |
111 | |
112 @cindex comments describing functions | |
113 @cindex describing functions, locating | |
114 Where to put comments describing functions: Because of risk of | |
115 divergence, we prefer to keep most function describing comments in | |
116 only one place: just above the actual function definition. Some | |
117 people prefer to put that documentation in the .h file. In any case, | |
118 it should appear in just one place unless you can ensure that the | |
119 multiple copies will always remain identical. | |
120 | |
121 | |
5260
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
122 @node Header files |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
123 @section Header files |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
124 |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
125 @cindex double inclusion of header files |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
126 @cindex header file include protection |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
127 It is a tradition to use CPP tricks to avoid parsing the same header |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
128 file more than once, which might cause warnings. The trick is to wrap |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
129 the content of the header file (say, @file{foo.h}) in a block, as in: |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
130 |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
131 @example |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
132 #ifndef FOO_H |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
133 # define FOO_H |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
134 ... |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
135 body of header file goes here |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
136 ... |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
137 #endif /* FOO_H */ |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
138 @end example |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
139 |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
140 Whether to use @code{FOO_H} or @code{_FOO_H} is a matter of taste and |
5261
95f7304acdac
Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5260
diff
changeset
|
141 style. The C89 and C99 standards reserve all identifiers that begin with an |
5260
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
142 underscore and either an uppercase letter or another underscore, for |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
143 any use. Thus, in theory, an application might not safely assume that |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
144 @code{_FOO_H} has not already been defined by a library. On the other |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
145 hand, using @code{FOO_H} will likely lead the higher risk of |
5269 | 146 collisions with other symbols (e.g., @code{KEY_H}, @code{XK_H}, @code{BPF_H}, |
147 which are CPP macro constants, or @code{COFF_LONG_H}, which is a CPP | |
148 macro function). Your preference may depend on whether you consider | |
5260
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
149 the header file under discussion as part of the application (which has |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
150 its own namespace for CPP symbols) or a supporting library (that |
5261
95f7304acdac
Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5260
diff
changeset
|
151 shouldn't interfere with the application's CPP symbol namespace). |
5260
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
152 |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
153 @cindex C++ header files |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
154 @cindex Header files and C++ |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
155 Adapting C header files for use in C++ applications can use another |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
156 CPP trick, as in: |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
157 |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
158 @example |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
159 # ifdef __cplusplus |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
160 extern "C" |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
161 @{ |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
162 # endif |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
163 ... |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
164 body of header file goes here |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
165 ... |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
166 # ifdef __cplusplus |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
167 @} |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
168 # endif |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
169 @end example |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
170 |
5261
95f7304acdac
Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5260
diff
changeset
|
171 The idea here is that @code{__cplusplus} is defined only by C++ |
95f7304acdac
Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5260
diff
changeset
|
172 implementations, which will wrap the header file in an @samp{extern "C"} |
5260
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
173 block. Again, whether to use this trick is a matter of taste and |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
174 style. While the above can be seen as harmless, it could be argued |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
175 that the header file is written in C, and any C++ application using it |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
176 should explicitly use the @samp{extern "C"} block itself. Your |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
177 preference might depend on whether you consider the API exported by |
5261
95f7304acdac
Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents:
5260
diff
changeset
|
178 your header file as something available for C programs only, or for C |
5260
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
179 and C++ programs alike. |
5a0174704b16
header files, from simon
Karl Berry <karl@freefriends.org>
parents:
5257
diff
changeset
|
180 |
5982
8f55c4ac38d6
updates from Patrice, start at quoting
Karl Berry <karl@freefriends.org>
parents:
5938
diff
changeset
|
181 @subheading Include ordering |
5883
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
182 |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
183 When writing a gnulib module, or even in general, a good way to order |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
184 the @samp{#include} directives is the following. |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
185 |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
186 @itemize |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
187 @item First comes the #include "..." specifying the module being implemented. |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
188 @item Then come all the #include <...> of system or system-replacement headers, |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
189 in arbitrary order. |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
190 @item Then come all the #include "..." of gnulib and private headers, in |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
191 arbitrary order. |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
192 @end itemize |
19bb5e876a29
Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents:
5870
diff
changeset
|
193 |
5982
8f55c4ac38d6
updates from Patrice, start at quoting
Karl Berry <karl@freefriends.org>
parents:
5938
diff
changeset
|
194 |
5239 | 195 @node Out of memory handling |
196 @section Out of memory handling | |
197 | |
198 @cindex Out of Memory handling | |
199 @cindex Memory allocation failure | |
200 The GSS API does not have a standard error code for the out of memory | |
201 error condition. Instead of adding a non-standard error code, this | |
202 library has chosen to adopt a different strategy. Out of memory | |
203 handling happens in rare situations, but performing the out of memory | |
204 error handling after almost all API function invocations pollute your | |
205 source code and might make it harder to spot more serious problems. | |
8475 | 206 The strategy chosen improves code readability and robustness. |
5239 | 207 |
208 @cindex Aborting execution | |
209 For most applications, aborting the application with an error message | |
8475 | 210 when the out of memory situation occurs is the best that can be wished |
5239 | 211 for. This is how the library behaves by default. |
212 | |
213 @vindex xalloc_fail_func | |
214 However, we realize that some applications may not want to have the | |
8475 | 215 GSS library abort execution in any situation. The GSS library supports |
5239 | 216 a hook to let the application regain control and perform its own |
6945
aa195d9ecb02
* functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents:
6852
diff
changeset
|
217 cleanups when an out of memory situation has occurred. The application |
5239 | 218 can define a function (having a @code{void} prototype, i.e., no return |
219 value and no parameters) and set the library variable | |
220 @code{xalloc_fail_func} to that function. The variable should be | |
221 declared as follows. | |
222 | |
223 @example | |
224 extern void (*xalloc_fail_func) (void); | |
225 @end example | |
226 | |
227 The GSS library will invoke this function if an out of memory error | |
228 occurs. Note that after this the GSS library is in an undefined | |
229 state, so you must unload or restart the application to continue call | |
230 GSS library functions. The hook is only intended to allow the | |
231 application to log the situation in a special way. Of course, care | |
232 must be taken to not allocate more memory, as that will likely also | |
233 fail. | |
234 | |
235 | |
5938
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
236 @node Library version handling |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
237 @section Library version handling |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
238 |
5992
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
239 The module @samp{check-version} can be useful when your gnulib |
5938
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
240 application is a system library. You will typically wrap the call to |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
241 the @code{check_version} function through a library API, your library |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
242 header file may contain: |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
243 |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
244 @example |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
245 #define STRINGPREP_VERSION "0.5.18" |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
246 ... |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
247 extern const char *stringprep_check_version (const char *req_version); |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
248 @end example |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
249 |
5992
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
250 To avoid ELF symbol collisions with other libraries that use the |
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
251 @samp{check-version} module, add to @file{config.h} through a |
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
252 AC_DEFINE something like: |
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
253 |
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
254 @example |
6842
1b6de7675435
mention that Gnulib takes over LIBOBJS
Karl Berry <karl@freefriends.org>
parents:
6764
diff
changeset
|
255 AC_DEFINE(check_version, stringprep_check_version, |
1b6de7675435
mention that Gnulib takes over LIBOBJS
Karl Berry <karl@freefriends.org>
parents:
6764
diff
changeset
|
256 [Rename check_version.]) |
5992
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
257 @end example |
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
258 |
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
259 The @code{stringprep_check_version} function will thus be implemented |
6cf595732ddb
gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents:
5983
diff
changeset
|
260 by the @code{check_version} module. |
5938
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
261 |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
262 There are two uses of the interface. The first is a way to provide |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
263 for applications to find out the version number of the library it |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
264 uses. The application may contain diagnostic code such as: |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
265 |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
266 @example |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
267 printf ("Stringprep version: header %s library %s", |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
268 STRINGPREP_VERSION, |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
269 stringprep_check_version (NULL)); |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
270 @end example |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
271 |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
272 Separating the library and header file version can be useful when |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
273 searching for version mismatch related problems. |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
274 |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
275 The second uses is as a rudimentary test of proper library version, by |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
276 making sure the application get a library version that is the same, or |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
277 newer, than the header file used when building the application. This |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
278 doesn't catch all problems, libraries may change backwards incompatibly |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
279 in later versions, but enable applications to require a certain |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
280 minimum version before it may proceed. |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
281 |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
282 Typical uses look like: |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
283 |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
284 @example |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
285 /* Check version of libgcrypt. */ |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
286 if (!gcry_check_version (GCRYPT_VERSION)) |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
287 die ("version mismatch\n"); |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
288 @end example |
14697da96543
2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
5883
diff
changeset
|
289 |
5982
8f55c4ac38d6
updates from Patrice, start at quoting
Karl Berry <karl@freefriends.org>
parents:
5938
diff
changeset
|
290 |
6852
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
291 @node Windows sockets |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
292 @section Windows sockets |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
293 |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
294 There are several issues when building applications that should work |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
295 under Windows. The most problematic part is for applications that use |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
296 sockets. |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
297 |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
298 Hopefully, we can add helpful notes to this section that will help you |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
299 port your application to Windows using gnulib. |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
300 |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
301 @subsection Getaddrinfo and WINVER |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
302 |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
303 This was written for the getaddrinfo module, but may be applicable to |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
304 other functions too. |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
305 |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
306 The getaddrinfo function exists in ws2tcpip.h and -lws2_32 on Windows |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
307 XP. The function declaration is present if @code{WINVER >= 0x0501}. |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
308 Windows 2000 does not have getaddrinfo in its @file{WS2_32.dll}. |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
309 |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
310 Thus, if you want to assume Windows XP or later, you can add |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
311 AC_DEFINE(WINVER, 0x0501) to avoid compiling to (partial) getaddrinfo |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
312 implementation. |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
313 |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
314 If you want to support Windows 2000, don't do anything, but be aware |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
315 that gnulib will use its own (partial) getaddrinfo implementation even |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
316 on Windows XP. Currently the code does not attempt to determine if |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
317 the getaddrinfo function is available during runtime. |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
318 |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
319 Todo: Make getaddrinfo.c open the WS2_32.DLL and check for the |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
320 getaddrinfo symbol and use it if present, otherwise fall back to our |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
321 own implementation. |
9582dd5af1a5
Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents:
6842
diff
changeset
|
322 |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
323 |
6962
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
324 @node Libtool and Windows |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
325 @section Libtool and Windows |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
326 |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
327 If you want it to be possible to cross-compile your program to MinGW |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
328 and you use Libtool, you need to put: |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
329 |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
330 @example |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
331 AC_LIBTOOL_WIN32_DLL |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
332 @end example |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
333 |
6989
d4c72f8cb784
* gnulib.texi (Libtool and Windows): Eliminate passive voice. Correct
Derek R. Price <derek@ximbiot.com>
parents:
6962
diff
changeset
|
334 in your @file{configure.ac}. This sets the correct names for the |
d4c72f8cb784
* gnulib.texi (Libtool and Windows): Eliminate passive voice. Correct
Derek R. Price <derek@ximbiot.com>
parents:
6962
diff
changeset
|
335 @code{OBJDUMP}, @code{DLLTOOL}, and @code{AS} tools for the build. |
6962
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
336 |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
337 If you are building a library, you will also need to pass |
6989
d4c72f8cb784
* gnulib.texi (Libtool and Windows): Eliminate passive voice. Correct
Derek R. Price <derek@ximbiot.com>
parents:
6962
diff
changeset
|
338 @code{-no-undefined} to make sure Libtool produces a DLL for your |
6962
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
339 library. From a @file{Makefile.am}: |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
340 |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
341 @example |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
342 libgsasl_la_LDFLAGS += -no-undefined |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
343 @end example |
e33f191db3d6
2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents:
6945
diff
changeset
|
344 |
7334
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
345 |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
346 @node License Texinfo sources |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
347 @section License Texinfo sources |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
348 |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
349 Gnulib provides copies of the GNU GPL, GNU LGPL, and GNU FDL licenses |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
350 in Texinfo form. (The master location is |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
351 @url{http://www.gnu.org/licenses/}). These Texinfo documents have |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
352 various node names and structures built into them; for your manual, |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
353 you might like to change these. It's ok to do this, and a convenient |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
354 way to do so is to use a context diff and the @option{--local-dir} |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
355 option to @command{gnulib-tool}. |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
356 |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
357 Of course the license texts themselves should not be changed at all. |
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
358 |
8433
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
359 @node Build robot for gnulib |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
360 @section Build robot for gnulib |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
361 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
362 To simplify testing on a wide set of platforms, gnulib is built on |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
363 many platforms every day and the results are uploaded to: |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
364 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
365 @url{http://autobuild.josefsson.org/gnulib/} |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
366 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
367 If you wish to help the gnulib development effort with build logs for |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
368 your favorite platform, you may perform these steps: |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
369 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
370 @enumerate |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
371 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
372 @item Create gnulib directory |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
373 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
374 On a machine with recent automake, autoconf, m4 installed and with a |
8597
c1709670004e
Talk primarily about git, not CVS.
Bruno Haible <bruno@clisp.org>
parents:
8475
diff
changeset
|
375 gnulib git or cvs checkout (typically a Linux machine), use |
8433
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
376 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
377 @example |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
378 gnulib-tool --create-megatestdir --with-tests --dir=..." |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
379 @end example |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
380 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
381 Note: The created directory uses ca. 512 MB on disk. |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
382 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
383 @item Transfer gnulib directory |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
384 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
385 Transfer this directory to a build machine (HP-UX, Cygwin, or |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
386 whatever). Often it is easier to transfer one file, and this can be |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
387 achieved by running, inside the directory the following commands: |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
388 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
389 @example |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
390 ./configure |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
391 make dist |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
392 @end example |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
393 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
394 And then transferring the @file{dummy-0.tar.gz} file. |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
395 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
396 @item Build modules |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
397 |
8672
c00e30e9aba4
2007-04-12 Simon Josefsson <simon@josefsson.org>
Simon Josefsson <simon@josefsson.org>
parents:
8623
diff
changeset
|
398 On the build machine, run ./do-autobuild (or "nohup ./do-autobuild"). |
c00e30e9aba4
2007-04-12 Simon Josefsson <simon@josefsson.org>
Simon Josefsson <simon@josefsson.org>
parents:
8623
diff
changeset
|
399 It creates a directory 'logs/' with a log file for each module. |
8433
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
400 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
401 @item Submit build logs |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
402 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
403 Submit each log file to Simon's site, either through a |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
404 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
405 @example |
8623 | 406 mail `echo gnulib__at__autobuild.josefsson.org | sed -e s/__at__/@@/` |
8433
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
407 @end example |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
408 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
409 or through netcat |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
410 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
411 @example |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
412 autobuild-submit logs/* |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
413 @end example |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
414 |
51634bc628de
* lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents:
8272
diff
changeset
|
415 @end enumerate |
7334
c7c3e5be0d91
note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents:
6989
diff
changeset
|
416 |
8743
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
417 @node Header File Substitutes |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
418 @chapter ISO C and POSIX Header File Substitutes |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
419 |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
420 This chapter describes which header files specified by ISO C or POSIX are |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
421 substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
422 which (known) portability problems are not worked around by Gnulib. |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
423 |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
424 @menu |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
425 * aio.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
426 * arpa/inet.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
427 * assert.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
428 * complex.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
429 * cpio.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
430 * ctype.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
431 * dirent.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
432 * dlfcn.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
433 * errno.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
434 * fcntl.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
435 * fenv.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
436 * float.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
437 * fmtmsg.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
438 * fnmatch.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
439 * ftw.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
440 * glob.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
441 * grp.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
442 * iconv.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
443 * inttypes.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
444 * iso646.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
445 * langinfo.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
446 * libgen.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
447 * limits.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
448 * locale.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
449 * math.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
450 * monetary.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
451 * mqueue.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
452 * ndbm.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
453 * net/if.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
454 * netdb.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
455 * netinet/in.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
456 * netinet/tcp.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
457 * nl_types.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
458 * poll.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
459 * pthread.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
460 * pwd.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
461 * regex.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
462 * sched.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
463 * search.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
464 * semaphore.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
465 * setjmp.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
466 * signal.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
467 * spawn.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
468 * stdarg.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
469 * stdbool.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
470 * stddef.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
471 * stdint.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
472 * stdio.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
473 * stdlib.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
474 * string.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
475 * strings.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
476 * stropts.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
477 * sys/ipc.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
478 * sys/mman.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
479 * sys/msg.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
480 * sys/resource.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
481 * sys/select.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
482 * sys/sem.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
483 * sys/shm.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
484 * sys/socket.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
485 * sys/stat.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
486 * sys/statvfs.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
487 * sys/time.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
488 * sys/timeb.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
489 * sys/times.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
490 * sys/types.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
491 * sys/uio.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
492 * sys/un.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
493 * sys/utsname.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
494 * sys/wait.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
495 * syslog.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
496 * tar.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
497 * termios.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
498 * tgmath.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
499 * time.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
500 * trace.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
501 * ucontext.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
502 * ulimit.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
503 * unistd.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
504 * utime.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
505 * utmpx.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
506 * wchar.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
507 * wctype.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
508 * wordexp.h:: |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
509 @end menu |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
510 |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
511 @include headers/aio.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
512 @include headers/arpa_inet.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
513 @include headers/assert.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
514 @include headers/complex.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
515 @include headers/cpio.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
516 @include headers/ctype.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
517 @include headers/dirent.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
518 @include headers/dlfcn.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
519 @include headers/errno.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
520 @include headers/fcntl.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
521 @include headers/fenv.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
522 @include headers/float.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
523 @include headers/fmtmsg.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
524 @include headers/fnmatch.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
525 @include headers/ftw.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
526 @include headers/glob.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
527 @include headers/grp.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
528 @include headers/iconv.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
529 @include headers/inttypes.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
530 @include headers/iso646.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
531 @include headers/langinfo.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
532 @include headers/libgen.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
533 @include headers/limits.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
534 @include headers/locale.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
535 @include headers/math.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
536 @include headers/monetary.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
537 @include headers/mqueue.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
538 @include headers/ndbm.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
539 @include headers/net_if.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
540 @include headers/netdb.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
541 @include headers/netinet_in.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
542 @include headers/netinet_tcp.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
543 @include headers/nl_types.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
544 @include headers/poll.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
545 @include headers/pthread.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
546 @include headers/pwd.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
547 @include headers/regex.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
548 @include headers/sched.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
549 @include headers/search.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
550 @include headers/semaphore.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
551 @include headers/setjmp.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
552 @include headers/signal.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
553 @include headers/spawn.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
554 @include headers/stdarg.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
555 @include headers/stdbool.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
556 @include headers/stddef.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
557 @include headers/stdint.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
558 @include headers/stdio.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
559 @include headers/stdlib.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
560 @include headers/string.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
561 @include headers/strings.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
562 @include headers/stropts.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
563 @include headers/sys_ipc.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
564 @include headers/sys_mman.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
565 @include headers/sys_msg.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
566 @include headers/sys_resource.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
567 @include headers/sys_select.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
568 @include headers/sys_sem.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
569 @include headers/sys_shm.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
570 @include headers/sys_socket.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
571 @include headers/sys_stat.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
572 @include headers/sys_statvfs.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
573 @include headers/sys_time.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
574 @include headers/sys_timeb.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
575 @include headers/sys_times.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
576 @include headers/sys_types.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
577 @include headers/sys_uio.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
578 @include headers/sys_un.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
579 @include headers/sys_utsname.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
580 @include headers/sys_wait.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
581 @include headers/syslog.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
582 @include headers/tar.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
583 @include headers/termios.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
584 @include headers/tgmath.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
585 @include headers/time.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
586 @include headers/trace.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
587 @include headers/ucontext.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
588 @include headers/ulimit.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
589 @include headers/unistd.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
590 @include headers/utime.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
591 @include headers/utmpx.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
592 @include headers/wchar.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
593 @include headers/wctype.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
594 @include headers/wordexp.texi |
5ca35995f234
Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents:
8672
diff
changeset
|
595 |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
596 @node Particular Modules |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
597 @chapter Particular Modules |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
598 |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
599 @menu |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
600 * Quoting:: |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
601 * ctime:: |
7778
1736cdb7eda4
document error/progname interaction
Karl Berry <karl@freefriends.org>
parents:
7618
diff
changeset
|
602 * error and progname:: |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
603 * gcd:: |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
604 * inet_ntoa:: |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
605 * Regular expressions:: |
8272
fd48e35f4e5e
New modules relocatable, relocatable-lib, relocatable-script.
Bruno Haible <bruno@clisp.org>
parents:
7778
diff
changeset
|
606 * Supporting Relocation:: |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
607 @end menu |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
608 |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
609 @include quote.texi |
7778
1736cdb7eda4
document error/progname interaction
Karl Berry <karl@freefriends.org>
parents:
7618
diff
changeset
|
610 @include error.texi |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
611 @include ctime.texi |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
612 @include gcd.texi |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
613 @include inet_ntoa.texi |
8272
fd48e35f4e5e
New modules relocatable, relocatable-lib, relocatable-script.
Bruno Haible <bruno@clisp.org>
parents:
7778
diff
changeset
|
614 @include relocatable-maint.texi |
7546
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
615 |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
616 @node Regular expressions |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
617 @section Regular expressions |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
618 |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
619 Gnulib supports many different types of regular expressions; although |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
620 the underlying features are the same or identical, the syntax used |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
621 varies. The descriptions given here for the different types are |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
622 generated automatically. |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
623 |
de9055fd713b
Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents:
7334
diff
changeset
|
624 @include regexprops-generic.texi |
5256
e23bd8e9d368
import sections from Simon
Karl Berry <karl@freefriends.org>
parents:
5239
diff
changeset
|
625 |
5239 | 626 |
627 @node Copying This Manual | |
628 @appendix Copying This Manual | |
629 | |
630 @menu | |
631 * GNU Free Documentation License:: License for copying this manual. | |
632 @end menu | |
633 | |
634 @include fdl.texi | |
635 | |
636 | |
637 @node Index | |
638 @unnumbered Index | |
639 | |
640 @printindex cp | |
641 | |
642 @bye |