announce-gen (get_tool_versions): Accept .xz tarballs.
[gnulib.git] / doc / gnulib.texi
index 5b99de0..8411c80 100644 (file)
@@ -22,11 +22,11 @@ Copyright @copyright{} 2004, 2005, 2006, 2007, 2008 Free Software
 Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled
-``GNU Free Documentation License.''
+Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
+copy of the license is included in the section entitled ``GNU Free
+Documentation License''.
 @end copying
 
 @dircategory Software development
@@ -78,6 +78,7 @@ If you need this particular \thing\, you may write to
 @w{@code{<bug-gnulib at gnu dot org>}}.
 @end macro
 
+
 @node Introduction
 @chapter Introduction
 
@@ -96,6 +97,7 @@ Resources:
 @end itemize
 
 @menu
+* Benefits::
 * Library vs Reusable Code::
 * Portability and Application Code::
 * Modules::
@@ -199,6 +201,12 @@ preference might depend on whether you consider the API exported by
 your header file as something available for C programs only, or for C
 and C++ programs alike.
 
+Note that putting a @code{#include} in an @code{extern "C" @{ ... @}}
+block yields a syntax error in C++ mode on some platforms (e.g., glibc
+systems with g++ v3.3 to v4.2, AIX, OSF/1, IRIX).  For this reason, it
+is recommended to place the @code{#include} before the @code{extern
+"C"} block.
+
 @subheading Include ordering
 
 When writing a gnulib module, or even in general, a good way to order
@@ -326,21 +334,16 @@ other functions too.
 
 The getaddrinfo function exists in ws2tcpip.h and -lws2_32 on Windows
 XP.  The function declaration is present if @code{WINVER >= 0x0501}.
-Windows 2000 does not have getaddrinfo in its @file{WS2_32.dll}.
+Windows 2000 does not have getaddrinfo in its @file{WS2_32.DLL}.
 
 Thus, if you want to assume Windows XP or later, you can add
 AC_DEFINE(WINVER, 0x0501) to avoid compiling to (partial) getaddrinfo
 implementation.
 
-If you want to support Windows 2000, don't do anything, but be aware
-that gnulib will use its own (partial) getaddrinfo implementation even
-on Windows XP.  Currently the code does not attempt to determine if
-the getaddrinfo function is available during runtime.
-
-Todo: Make getaddrinfo.c open the WS2_32.DLL and check for the
-getaddrinfo symbol and use it if present, otherwise fall back to our
-own implementation.
-
+If you want to support Windows 2000, don't do anything.  The
+replacement function will open @file{WS2_32.DLL} during run-time to
+see if there is a getaddrinfo function available, and use it when
+available.
 
 @node Libtool and Windows
 @section Libtool and Windows
@@ -5755,6 +5758,8 @@ This list of functions is sorted according to the header that declares them.
 * Regular expressions::
 * Supporting Relocation::
 * func::
+* warnings::
+* manywarnings::
 @end menu
 
 @node alloca
@@ -5836,11 +5841,15 @@ generated automatically.
 
 @include func.texi
 
+@include warnings.texi
+
+@include manywarnings.texi
+
 
 @node GNU Free Documentation License
 @appendix GNU Free Documentation License
 
-@include fdl.texi
+@include fdl-1.3.texi
 
 
 @node Index