X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2Fgnulib.texi;h=59a9338ba64e740efe16c8afd222e6c93d870eb1;hb=19931efa2e7efbc7dbdc282178d73f4d97cabb3e;hp=e23e5ce5fc7e648cc9090dcc8f2c6e4925b8e2fc;hpb=c0978facaf6b68c3702c306a3bcbd09280a8950c;p=gnulib.git diff --git a/doc/gnulib.texi b/doc/gnulib.texi index e23e5ce5f..59a9338ba 100644 --- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -1,5 +1,5 @@ \input texinfo @c -*-texinfo-*- -@comment $Id: gnulib.texi,v 1.7 2005-04-18 20:58:20 jas Exp $ +@comment $Id: gnulib.texi,v 1.9 2005-05-23 11:05:53 jas Exp $ @comment %**start of header @setfilename gnulib.info @settitle GNU Gnulib @@ -7,14 +7,14 @@ @syncodeindex pg cp @comment %**end of header -@set UPDATED $Date: 2005-04-18 20:58:20 $ +@set UPDATED $Date: 2005-05-23 11:05:53 $ @copying This manual is for GNU Gnulib (updated @value{UPDATED}), which is a library of common routines intended to be shared at the source level. -Copyright @copyright{} 2004 Free Software Foundation, Inc. +Copyright @copyright{} 2004, 2005 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -65,8 +65,9 @@ Software Foundation raise funds for GNU development.'' @node Gnulib @chapter Gnulib -This is not a real manual. It's just a place to store random notes -until someone (you?) gets around to actually writing a manual. +This manual contains some bare-bones documentation, but not much more. +It's mostly been a place to store notes until someone (you?) gets +around to writing a coherent manual. Getting started: @@ -158,6 +159,19 @@ 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. +@subsection Include ordering + +When writing a gnulib module, or even in general, a good way to order +the @samp{#include} directives is the following. + +@itemize +@item First comes the #include "..." specifying the module being implemented. +@item Then come all the #include <...> of system or system-replacement headers, +in arbitrary order. +@item Then come all the #include "..." of gnulib and private headers, in +arbitrary order. +@end itemize + @node ctime @section ctime @findex ctime @@ -395,14 +409,15 @@ If you are using a gnulib source base of @code{gl}, you would use: SUBDIRS += gl @end example -Finally, you have add C flags and LD flags, so that you can make use +Finally, you have to add compiler and linker flags in the appropriate +source directories, so that you can make use of the gnulib library. For example: @example ... AM_CPPFLAGS = -I$(top_srcdir)/lib ... -LIBADD = lib/libgnu.la +LIBADD = lib/libgnu.a ... @end example