Rename sys_time_.h to sys_time.in.h.
[gnulib.git] / doc / gnulib.texi
index ab53730..ebd1e5b 100644 (file)
@@ -1,5 +1,5 @@
 \input texinfo   @c -*-texinfo-*-
-@comment $Id: gnulib.texi,v 1.40 2007-05-01 22:37:10 haible Exp $
+@comment $Id: gnulib.texi,v 1.44 2007-09-09 13:20:45 haible Exp $
 @comment %**start of header
 @setfilename gnulib.info
 @settitle GNU Gnulib
@@ -7,7 +7,7 @@
 @syncodeindex pg cp
 @comment %**end of header
 
-@set UPDATED $Date: 2007-05-01 22:37:10 $
+@set UPDATED $Date: 2007-09-09 13:20:45 $
 
 @copying
 This manual is for GNU Gnulib (updated @value{UPDATED}),
@@ -51,10 +51,11 @@ Texts.  A copy of the license is included in the section entitled
 * Introduction::
 * Invoking gnulib-tool::
 * Miscellaneous Notes::
-* Header File Substitutes::
-* Function Substitutes::
-* Particular Modules::          Documentation of Individual Modules
-* Copying This Manual::
+* POSIX Substitutes Library::       Building as a separate substitutes library.
+* Header File Substitutes::         Overriding system headers.
+* Function Substitutes::            Replacing system functions.
+* Particular Modules::              Documentation of individual modules.
+* GNU Free Documentation License::  Copying and sharing this manual.
 * Index::
 @end menu
 
@@ -349,14 +350,17 @@ libgsasl_la_LDFLAGS += -no-undefined
 
 Gnulib provides copies of the GNU GPL, GNU LGPL, and GNU FDL licenses
 in Texinfo form.  (The master location is
-@url{http://www.gnu.org/licenses/}).  These Texinfo documents have
-various node names and structures built into them; for your manual,
-you might like to change these.  It's ok to do this, and a convenient
-way to do so is to use a context diff and the @option{--local-dir}
-option to @command{gnulib-tool}.
+@url{http://www.gnu.org/licenses/}).  These Texinfo documents do not
+have any node names and structures built into them; for your manual,
+you should @code{@@include} them in an appropriate @code{@@node}.
+
+The conventional name for the GPL node is @samp{Copying} and for the FDL
+@samp{GNU Free Documentation License}.  The LGPL doesn't seem to have
+a conventional node name.
 
 Of course the license texts themselves should not be changed at all.
 
+
 @node Build robot for gnulib
 @section Build robot for gnulib
 
@@ -415,6 +419,35 @@ autobuild-submit logs/*
 
 @end enumerate
 
+@node POSIX Substitutes Library
+@chapter Building the ISO C and POSIX Substitutes
+
+This section shows a radically different way to use Gnulib.
+
+You can extract the ISO C / POSIX substitutes part of gnulib by running
+the command
+@smallexample
+gnulib-tool --create-testdir --source-base=lib \
+            --dir=/tmp/posixlib `posix-modules`
+@end smallexample
+
+@noindent
+The command @samp{posix-modules} is found in the same directory as
+@code{gnulib-tool}.
+
+The resulting directory can be built on a particular platform,
+independently of the program being ported.  Then you can configure and
+build any program, by setting @code{CPPFLAGS} and @code{LDFLAGS} at
+configure time accordingly: set @code{CPPFLAGS="-I.../posixlib/lib"}, plus
+any essential type definitions and flags that you find in
+@code{.../posixlib/config.h}, and set
+@code{LDFLAGS=".../posixlib/lib/libgnu.a"}.
+
+This way of using Gnulib is useful when you don't want to modify the program's
+source code, or when the program uses a mix between C and C++ sources
+(requiring separate builds of the @code{posixlib} for the C compiler and
+for the C++ compiler).
+
 @node Header File Substitutes
 @chapter ISO C and POSIX Header File Substitutes
 
@@ -926,6 +959,7 @@ by Gnulib.
 * getcontext::
 * getcwd::
 * getdate::
+* getdelim::
 * getegid::
 * getenv::
 * geteuid::
@@ -942,6 +976,7 @@ by Gnulib.
 * gethostid::
 * gethostname::
 * getitimer::
+* getline::
 * getlogin::
 * getlogin_r::
 * getmsg::
@@ -1543,7 +1578,9 @@ by Gnulib.
 * sscanf::
 * stat::
 * statvfs::
+* stderr::
 * stdin::
+* stdout::
 * strcasecmp::
 * strcat::
 * strchr::
@@ -2042,6 +2079,7 @@ by Gnulib.
 @include functions/getcontext.texi
 @include functions/getcwd.texi
 @include functions/getdate.texi
+@include functions/getdelim.texi
 @include functions/getegid.texi
 @include functions/getenv.texi
 @include functions/geteuid.texi
@@ -2058,6 +2096,7 @@ by Gnulib.
 @include functions/gethostid.texi
 @include functions/gethostname.texi
 @include functions/getitimer.texi
+@include functions/getline.texi
 @include functions/getlogin.texi
 @include functions/getlogin_r.texi
 @include functions/getmsg.texi
@@ -2659,7 +2698,9 @@ by Gnulib.
 @include functions/sscanf.texi
 @include functions/stat.texi
 @include functions/statvfs.texi
+@include functions/stderr.texi
 @include functions/stdin.texi
+@include functions/stdout.texi
 @include functions/strcasecmp.texi
 @include functions/strcat.texi
 @include functions/strchr.texi
@@ -2861,12 +2902,8 @@ generated automatically.
 @include regexprops-generic.texi
 
 
-@node Copying This Manual
-@appendix Copying This Manual
-
-@menu
-* GNU Free Documentation License::  License for copying this manual.
-@end menu
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
 
 @include fdl.texi
 
@@ -2877,3 +2914,8 @@ generated automatically.
 @printindex cp
 
 @bye
+
+@c Local Variables:
+@c indent-tabs-mode: nil
+@c whitespace-check-buffer-indent: nil
+@c End: