~ubuntu-branches/ubuntu/saucy/autoconf/saucy-proposed

« back to all changes in this revision

Viewing changes to doc/standards.info

  • Committer: Bazaar Package Importer
  • Author(s): Ben Pfaff
  • Date: 2010-08-02 13:04:28 UTC
  • mfrom: (1.1.10 upstream)
  • Revision ID: james.westby@ubuntu.com-20100802130428-ywor783c4eglymoq
Tags: 2.67-1
New upstream release.  Closes: #589958.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
* Standards: (standards).       GNU coding standards.
7
7
END-INFO-DIR-ENTRY
8
8
 
9
 
   The GNU coding standards, last updated September 14, 2009.
 
9
   The GNU coding standards, last updated April 12, 2010.
10
10
 
11
11
   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
12
 
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
 
12
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
13
13
Foundation, Inc.
14
14
 
15
15
   Permission is granted to copy, distribute and/or modify this document
25
25
Version
26
26
*******
27
27
 
28
 
The GNU coding standards, last updated September 14, 2009.
 
28
The GNU coding standards, last updated April 12, 2010.
29
29
 
30
30
   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
31
 
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
 
31
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
32
32
Foundation, Inc.
33
33
 
34
34
   Permission is granted to copy, distribute and/or modify this document
65
65
even if you write in another programming language.  The rules often
66
66
state reasons for writing in a certain way.
67
67
 
68
 
   This release of the GNU Coding Standards was last updated September
69
 
14, 2009.
70
 
 
71
68
   If you did not obtain this file directly from the GNU project and
72
69
recently, please check for a newer version.  You can get the GNU Coding
73
70
Standards from the GNU web server in many different formats, including
74
71
the Texinfo source, PDF, HTML, DVI, plain text, and more, at:
75
72
`http://www.gnu.org/prep/standards/'.
76
73
 
77
 
   Corrections or suggestions for this document should be sent to
 
74
   If you are maintaining an official GNU package, in addition to this
 
75
document, please read and follow the GNU maintainer information (*note
 
76
Contents: (maintain)Top.).
 
77
 
 
78
   If you want to receive diffs for every change to these GNU documents,
 
79
join the mailing list `gnustandards-commit@gnu.org', via the web
 
80
interface at
 
81
`http://lists.gnu.org/mailman/listinfo/gnustandards-commit'.  Archives
 
82
are also available there.
 
83
 
 
84
   Please send corrections or suggestions for this document to
78
85
<bug-standards@gnu.org>.  If you make a suggestion, please include a
79
 
suggested new wording for it; our time is limited.  We prefer a context
80
 
diff to the `standards.texi' or `make-stds.texi' files, but if you
81
 
don't have those files, please mail your suggestion anyway.
 
86
suggested new wording for it, to help us consider the suggestion
 
87
efficiently.  We prefer a context diff to the Texinfo source, but if
 
88
that's difficult for you, you can make a context diff for some other
 
89
version of this document, or propose it in any way that makes it clear.
 
90
The source repository for this document can be found at
 
91
`http://savannah.gnu.org/projects/gnustandards'.
82
92
 
83
93
   These standards cover the minimum of what is important when writing a
84
94
GNU package.  Likely, the need for additional standards will come up.
96
106
coding standards for a trivial program.
97
107
`http://www.gnu.org/software/hello/hello.html'.
98
108
 
 
109
   This release of the GNU Coding Standards was last updated April 12,
 
110
2010.
 
111
 
99
112
 
100
113
File: standards.info,  Node: Legal Issues,  Next: Design Advice,  Prev: Preface,  Up: Top
101
114
 
463
476
GCC developers many hours, or even days, per year.
464
477
 
465
478
   In the case of function-like macros like `REVERSIBLE_CC_MODE' in GCC
466
 
which cannot be simply used in `if( ...)' statements, there is an easy
 
479
which cannot be simply used in `if (...)' statements, there is an easy
467
480
workaround.  Simply introduce another macro `HAS_REVERSIBLE_CC_MODE' as
468
481
in the following example:
469
482
 
637
650
creating temporary files in world-writable directories.  In C, you can
638
651
avoid this problem by creating temporary files in this manner:
639
652
 
640
 
     fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0600);
 
653
     fd = open (filename, O_WRONLY | O_CREAT | O_EXCL, 0600);
641
654
 
642
655
or by using the `mkstemps' function from libiberty.
643
656
 
780
793
======================================
781
794
 
782
795
When you write a program that provides a graphical user interface,
783
 
please make it work with X Windows and the GTK+ toolkit unless the
784
 
functionality specifically requires some alternative (for example,
785
 
"displaying jpeg images while in console mode").
 
796
please make it work with the X Window System and the GTK+ toolkit
 
797
unless the functionality specifically requires some alternative (for
 
798
example, "displaying jpeg images while in console mode").
786
799
 
787
800
   In addition, please provide a command-line interface to control the
788
801
functionality.  (In many cases, the graphical user interface can be a
789
802
separate program which invokes the command-line program.)  This is so
790
803
that the same jobs can be done from scripts.
791
804
 
792
 
   Please also consider providing a CORBA interface (for use from
793
 
GNOME), a library interface (for use from C), and perhaps a
794
 
keyboard-driven console interface (for use by users from console mode).
795
 
Once you are doing the work to provide the functionality and the
796
 
graphical interface, these won't be much extra work.
 
805
   Please also consider providing a D-bus interface for use from other
 
806
running programs, such as within GNOME.  (GNOME used to use CORBA for
 
807
this, but that is being phased out.)  In addition, consider providing a
 
808
library interface (for use from C), and perhaps a keyboard-driven
 
809
console interface (for use by users from console mode).  Once you are
 
810
doing the work to provide the functionality and the graphical
 
811
interface, these won't be much extra work.
797
812
 
798
813
 
799
814
File: standards.info,  Node: Command-Line Interfaces,  Next: Option Table,  Prev: Graphical Interfaces,  Up: Program Behavior
939
954
     GNU Lesser General Public License,
940
955
     `http://www.gnu.org/licenses/lgpl.html'.
941
956
 
942
 
GPL/Guile
943
 
     GNU GPL with the exception for Guile; for example, GPLv3+/Guile
944
 
     means the GNU GPL version 3 or later, with the extra exception for
945
 
     Guile.
946
 
 
947
957
GPL/Ada
948
958
     GNU GPL with the exception for Ada.
949
959
 
981
991
 
982
992
X11
983
993
     The simple non-copyleft license used for most versions of the X
984
 
     Window system, `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3'.
 
994
     Window System, `http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3'.
985
995
 
986
996
Zlib
987
997
     The license for Zlib, `http://www.gzip.org/zlib/zlib_license.html'.
2133
2143
 
2134
2144
     1.3.6.1.4.1.11591.5 GNU Mailutils
2135
2145
 
2136
 
     1.3.6.1.4.1.11591.5 GNU Shishi
 
2146
     1.3.6.1.4.1.11591.6 GNU Shishi
 
2147
 
 
2148
     1.3.6.1.4.1.11591.7 GNU Radio
2137
2149
 
2138
2150
     1.3.6.1.4.1.11591.12 digestAlgorithm
2139
2151
       1.3.6.1.4.1.11591.12.2 TIGER/192
3329
3341
 
3330
3342
   The change log file is normally called `ChangeLog' and covers an
3331
3343
entire directory.  Each directory can have its own change log, or a
3332
 
directory can use the change log of its parent directory-it's up to you.
 
3344
directory can use the change log of its parent directory--it's up to
 
3345
you.
3333
3346
 
3334
3347
   Another alternative is to record change log information with a
3335
3348
version control system such as RCS or CVS.  This can be converted
3337
3350
command `C-x v a' (`vc-update-change-log') does the job.
3338
3351
 
3339
3352
   There's no need to describe the full purpose of the changes or how
3340
 
they work together.  If you think that a change calls for explanation,
3341
 
you're probably right.  Please do explain it--but please put the
3342
 
explanation in comments in the code, where people will see it whenever
3343
 
they see the code.  For example, "New function" is enough for the
3344
 
change log when you add a function, because there should be a comment
3345
 
before the function definition to explain what it does.
 
3353
they work together.  However, sometimes it is useful to write one line
 
3354
to describe the overall purpose of a change or a batch of changes.  If
 
3355
you think that a change calls for explanation, you're probably right.
 
3356
Please do explain it--but please put the full explanation in comments
 
3357
in the code, where people will see it whenever they see the code.  For
 
3358
example, "New function" is enough for the change log when you add a
 
3359
function, because there should be a comment before the function
 
3360
definition to explain what it does.
3346
3361
 
3347
3362
   In the past, we recommended not mentioning changes in non-software
3348
3363
files (manuals, help files, etc.) in change logs.  However, we've been
3349
3364
advised that it is a good idea to include them, for the sake of
3350
3365
copyright records.
3351
3366
 
3352
 
   However, sometimes it is useful to write one line to describe the
3353
 
overall purpose of a batch of changes.
3354
 
 
3355
3367
   The easiest way to add an entry to `ChangeLog' is with the Emacs
3356
3368
command `M-x add-change-log-entry'.  An entry should have an asterisk,
3357
3369
the name of the changed file, and then in parentheses the name of the
3837
3849
`configure'.  A rule of the form:
3838
3850
 
3839
3851
     foo.1 : foo.man sedscript
3840
 
             sed -e sedscript foo.man > foo.1
 
3852
             sed -f sedscript foo.man > foo.1
3841
3853
 
3842
3854
will fail when the build directory is not the source directory, because
3843
3855
`foo.man' and `sedscript' are in the source directory.
3862
3874
is best written as:
3863
3875
 
3864
3876
     foo.1 : foo.man sedscript
3865
 
             sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@
 
3877
             sed -f $(srcdir)/sedscript $(srcdir)/foo.man > $@
3866
3878
 
3867
3879
   GNU distributions usually contain some files which are not source
3868
3880
files--for example, Info files, and the output from Autoconf, Automake,
3894
3906
   The `configure' script and the Makefile rules for building and
3895
3907
installation should not use any utilities directly except these:
3896
3908
 
3897
 
     awk cat cmp cp diff echo egrep expr false grep install-info
3898
 
     ln ls mkdir mv pwd rm rmdir sed sleep sort tar test touch tr true
 
3909
     awk cat cmp cp diff echo egrep expr false grep install-info ln ls
 
3910
     mkdir mv printf pwd rm rmdir sed sleep sort tar test touch tr true
3899
3911
 
3900
3912
   Compression programs such as `gzip' can be used in the `dist' rule.
3901
3913
 
4016
4028
 
4017
4029
File: standards.info,  Node: DESTDIR,  Next: Directory Variables,  Prev: Command Variables,  Up: Makefile Conventions
4018
4030
 
4019
 
7.2.4 `DESTDIR': support for staged installs
 
4031
7.2.4 `DESTDIR': Support for Staged Installs
4020
4032
--------------------------------------------
4021
4033
 
4022
4034
`DESTDIR' is a variable prepended to each installed target file, like
4082
4094
packages behave identically, allowing the installer to achieve any
4083
4095
desired layout.
4084
4096
 
 
4097
   All installation directories, and their parent directories, should be
 
4098
created (if necessary) before they are installed into.
 
4099
 
4085
4100
   These first two variables set the root for the installation.  All the
4086
4101
other installation directories should be subdirectories of one of these
4087
4102
two, and nothing should be directly installed into these two
4435
4450
     the `install-info' program if it is present.  `install-info' is a
4436
4451
     program that edits the Info `dir' file to add or update the menu
4437
4452
     entry for the given Info file; it is part of the Texinfo package.
4438
 
     Here is a sample rule to install an Info file:
4439
 
 
4440
 
          $(DESTDIR)$(infodir)/foo.info: foo.info
4441
 
                  $(POST_INSTALL)
4442
 
          # There may be a newer info file in . than in srcdir.
4443
 
                  -if test -f foo.info; then d=.; \
4444
 
                   else d=$(srcdir); fi; \
4445
 
                  $(INSTALL_DATA) $$d/foo.info $(DESTDIR)$@; \
 
4453
 
 
4454
     Here is a sample rule to install an Info file that also tries to
 
4455
     handle some additional situations, such as `install-info' not
 
4456
     being present.
 
4457
 
 
4458
          do-install-info: foo.info installdirs
 
4459
                  $(NORMAL_INSTALL)
 
4460
          # Prefer an info file in . to one in srcdir.
 
4461
                  if test -f foo.info; then d=.; \
 
4462
                   else d="$(srcdir)"; fi; \
 
4463
                  $(INSTALL_DATA) $$d/foo.info \
 
4464
                    "$(DESTDIR)$(infodir)/foo.info"
4446
4465
          # Run install-info only if it exists.
4447
4466
          # Use `if' instead of just prepending `-' to the
4448
4467
          # line so we notice real errors from install-info.
4449
 
          # We use `$(SHELL) -c' because some shells do not
 
4468
          # Use `$(SHELL) -c' because some shells do not
4450
4469
          # fail gracefully when there is an unknown command.
 
4470
                  $(POST_INSTALL)
4451
4471
                  if $(SHELL) -c 'install-info --version' \
4452
4472
                     >/dev/null 2>&1; then \
4453
 
                    install-info --dir-file=$(DESTDIR)$(infodir)/dir \
4454
 
                                 $(DESTDIR)$(infodir)/foo.info; \
 
4473
                    install-info --dir-file="$(DESTDIR)$(infodir)/dir" \
 
4474
                                 "$(DESTDIR)$(infodir)/foo.info"; \
4455
4475
                  else true; fi
4456
4476
 
4457
4477
     When writing the `install' target, you must classify all the
4641
4661
 
4642
4662
     Compress the tar file with `gzip'.  For example, the actual
4643
4663
     distribution file for GCC version 1.40 is called `gcc-1.40.tar.gz'.
4644
 
     It is ok to support other free compression formats as well, such as
4645
 
     `bzip2' and `lzma'.
 
4664
     It is ok to support other free compression formats as well.
4646
4665
 
4647
4666
     The `dist' target should explicitly depend on all non-source files
4648
4667
     that are in the distribution, to make sure they are up to date in
4666
4685
     It's useful to add a target named `installdirs' to create the
4667
4686
     directories where files are installed, and their parent
4668
4687
     directories.  There is a script called `mkinstalldirs' which is
4669
 
     convenient for this; you can find it in the Texinfo package.  You
 
4688
     convenient for this; you can find it in the Gnulib package.  You
4670
4689
     can use a rule like this:
4671
4690
 
4672
4691
          # Make sure all installation directories (e.g. $(bindir))
4676
4695
                                          $(libdir) $(infodir) \
4677
4696
                                          $(mandir)
4678
4697
 
4679
 
     or, if you wish to support `DESTDIR',
 
4698
     or, if you wish to support `DESTDIR' (strongly encouraged),
4680
4699
 
4681
4700
          # Make sure all installation directories (e.g. $(bindir))
4682
4701
          # actually exist by making them if necessary.
4847
4866
So if you do distribute non-source files, always make sure they are up
4848
4867
to date when you make a new distribution.
4849
4868
 
4850
 
   Make sure that the directory into which the distribution unpacks (as
4851
 
well as any subdirectories) are all world-writable (octal mode 777).
4852
 
This is so that old versions of `tar' which preserve the ownership and
4853
 
permissions of the files from the tar archive will be able to extract
4854
 
all the files even if the user is unprivileged.
4855
 
 
4856
 
   Make sure that all the files in the distribution are world-readable.
 
4869
   Make sure that all the files in the distribution are world-readable,
 
4870
and that directories are world-readable and world-searchable (octal
 
4871
mode 755).  We used to recommend that all directories in the
 
4872
distribution also be world-writable (octal mode 777), because ancient
 
4873
versions of `tar' would otherwise not cope when extracting the archive
 
4874
as an unprivileged user.  That can easily lead to security issues when
 
4875
creating the archive, however, so now we recommend against that.
4857
4876
 
4858
4877
   Don't include any symbolic links in the distribution itself.  If the
4859
4878
tar file contains symbolic links, then people cannot even unpack it on
5497
5516
* behavior, dependent on program's name: User Interfaces.     (line   6)
5498
5517
* binary packages:                       Install Command Categories.
5499
5518
                                                              (line  80)
5500
 
* bindir:                                Directory Variables. (line  54)
 
5519
* bindir:                                Directory Variables. (line  57)
5501
5520
* braces, in C source:                   Formatting.          (line   6)
5502
5521
* bug reports:                           --help.              (line  11)
 
5522
* bug-standards@gnu.org email address:   Preface.             (line  30)
5503
5523
* canonical name of a program:           --version.           (line  12)
5504
5524
* casting pointers to integers:          CPU Portability.     (line  89)
5505
5525
* CGI programs, standard options for:    Command-Line Interfaces.
5522
5542
* control-L:                             Formatting.          (line 118)
5523
5543
* conventions for makefiles:             Makefile Conventions.
5524
5544
                                                              (line   6)
5525
 
* corba:                                 Graphical Interfaces.
 
5545
* CORBA:                                 Graphical Interfaces.
5526
5546
                                                              (line  16)
5527
5547
* credits for manuals:                   Manual Credits.      (line   6)
 
5548
* D-bus:                                 Graphical Interfaces.
 
5549
                                                              (line  16)
5528
5550
* data types, and portability:           CPU Portability.     (line   6)
5529
5551
* declaration for system functions:      System Functions.    (line  21)
5530
5552
* DESTDIR:                               DESTDIR.             (line   6)
 
5553
* directories, creating installation:    Directory Variables. (line  20)
5531
5554
* documentation:                         Documentation.       (line   6)
5532
5555
* doschk:                                Names.               (line  38)
5533
 
* downloading this manual:               Preface.             (line  17)
 
5556
* downloading this manual:               Preface.             (line  14)
5534
5557
* encodings:                             Character Set.       (line   6)
5535
5558
* error messages:                        Semantics.           (line  19)
5536
5559
* error messages, formatting:            Errors.              (line   6)
5537
 
* exec_prefix:                           Directory Variables. (line  36)
 
5560
* exec_prefix:                           Directory Variables. (line  39)
5538
5561
* expressions, splitting:                Formatting.          (line  81)
5539
5562
* FDL, GNU Free Documentation License:   GNU Free Documentation License.
5540
5563
                                                              (line   6)
5550
5573
                                                              (line   6)
5551
5574
* gettext:                               Internationalization.
5552
5575
                                                              (line   6)
5553
 
* gnome:                                 Graphical Interfaces.
 
5576
* GNOME:                                 Graphical Interfaces.
5554
5577
                                                              (line  16)
5555
5578
* GNOME and Guile:                       Source Language.     (line  38)
 
5579
* gnustandards project repository:       Preface.             (line  30)
 
5580
* gnustandards-commit@gnu.org mailing list: Preface.          (line  24)
5556
5581
* graphical user interface:              Graphical Interfaces.
5557
5582
                                                              (line   6)
5558
5583
* grave accent:                          Quote Characters.    (line   6)
5559
 
* gtk+:                                  Graphical Interfaces.
 
5584
* GTK+:                                  Graphical Interfaces.
5560
5585
                                                              (line   6)
5561
5586
* Guile:                                 Source Language.     (line  38)
5562
5587
* implicit int:                          Syntactic Conventions.
5563
5588
                                                              (line   6)
5564
5589
* impossible conditions:                 Semantics.           (line  70)
 
5590
* installation directories, creating:    Directory Variables. (line  20)
5565
5591
* installations, staged:                 DESTDIR.             (line   6)
 
5592
* interface styles:                      Graphical Interfaces.
 
5593
                                                              (line   6)
5566
5594
* internationalization:                  Internationalization.
5567
5595
                                                              (line   6)
 
5596
* keyboard interface:                    Graphical Interfaces.
 
5597
                                                              (line  16)
5568
5598
* LDAP:                                  OID Allocations.     (line   6)
5569
5599
* left quote:                            Quote Characters.    (line   6)
5570
5600
* legal aspects:                         Legal Issues.        (line   6)
5571
5601
* legal papers:                          Contributions.       (line   6)
5572
 
* libexecdir:                            Directory Variables. (line  67)
 
5602
* libexecdir:                            Directory Variables. (line  70)
5573
5603
* libraries:                             Libraries.           (line   6)
5574
5604
* library functions, and portability:    System Functions.    (line   6)
 
5605
* library interface:                     Graphical Interfaces.
 
5606
                                                              (line  16)
5575
5607
* license for manuals:                   License for Manuals. (line   6)
5576
5608
* lint:                                  Syntactic Conventions.
5577
5609
                                                              (line 109)
5617
5649
                                                              (line   6)
5618
5650
* pre-installation commands:             Install Command Categories.
5619
5651
                                                              (line   6)
5620
 
* prefix:                                Directory Variables. (line  26)
 
5652
* prefix:                                Directory Variables. (line  29)
5621
5653
* program configuration:                 Configuration.       (line   6)
5622
5654
* program design:                        Design Advice.       (line   6)
5623
5655
* program name and its behavior:         User Interfaces.     (line   6)
5629
5661
* README file:                           Releases.            (line  21)
5630
5662
* references to non-free material:       References.          (line   6)
5631
5663
* releasing:                             Managing Releases.   (line   6)
5632
 
* sbindir:                               Directory Variables. (line  60)
 
5664
* Savannah repository for gnustandards:  Preface.             (line  30)
 
5665
* sbindir:                               Directory Variables. (line  63)
5633
5666
* signal handling:                       Semantics.           (line  59)
5634
5667
* SNMP:                                  OID Allocations.     (line   6)
5635
5668
* spaces before open-paren:              Formatting.          (line  75)
5648
5681
* texinfo.tex, in a distribution:        Releases.            (line  70)
5649
5682
* TMPDIR environment variable:           Semantics.           (line  84)
5650
5683
* trademarks:                            Trademarks.          (line   6)
5651
 
* where to obtain standards.texi:        Preface.             (line  17)
 
5684
* user interface styles:                 Graphical Interfaces.
 
5685
                                                              (line   6)
 
5686
* where to obtain standards.texi:        Preface.             (line  14)
5652
5687
* X.509:                                 OID Allocations.     (line   6)
5653
5688
 
5654
5689
 
5655
5690
 
5656
5691
Tag Table:
5657
 
Node: Top811
5658
 
Node: Preface2084
5659
 
Node: Legal Issues4204
5660
 
Node: Reading Non-Free Code4674
5661
 
Node: Contributions6404
5662
 
Node: Trademarks8642
5663
 
Node: Design Advice10277
5664
 
Node: Source Language10869
5665
 
Node: Compatibility12995
5666
 
Node: Using Extensions14623
5667
 
Node: Standard C16199
5668
 
Node: Conditional Compilation18602
5669
 
Node: Program Behavior20000
5670
 
Node: Non-GNU Standards21116
5671
 
Node: Semantics23397
5672
 
Node: Libraries28116
5673
 
Node: Errors29361
5674
 
Node: User Interfaces31854
5675
 
Node: Graphical Interfaces33459
5676
 
Node: Command-Line Interfaces34495
5677
 
Node: --version36527
5678
 
Node: --help42428
5679
 
Node: Option Table43301
5680
 
Node: OID Allocations58256
5681
 
Node: Memory Usage60017
5682
 
Node: File Usage61053
5683
 
Node: Writing C61803
5684
 
Node: Formatting62775
5685
 
Node: Comments67064
5686
 
Node: Syntactic Conventions70616
5687
 
Node: Names74078
5688
 
Node: System Portability76290
5689
 
Node: CPU Portability79181
5690
 
Node: System Functions83082
5691
 
Node: Internationalization88279
5692
 
Node: Character Set92273
5693
 
Node: Quote Characters93086
5694
 
Node: Mmap94606
5695
 
Node: Documentation95314
5696
 
Node: GNU Manuals96420
5697
 
Node: Doc Strings and Manuals102158
5698
 
Node: Manual Structure Details103711
5699
 
Node: License for Manuals105129
5700
 
Node: Manual Credits106103
5701
 
Node: Printed Manuals106496
5702
 
Node: NEWS File107182
5703
 
Node: Change Logs107860
5704
 
Node: Change Log Concepts108614
5705
 
Node: Style of Change Logs110703
5706
 
Node: Simple Changes113203
5707
 
Node: Conditional Changes114645
5708
 
Node: Indicating the Part Changed116067
5709
 
Node: Man Pages116594
5710
 
Node: Reading other Manuals118800
5711
 
Node: Managing Releases119591
5712
 
Node: Configuration120372
5713
 
Node: Makefile Conventions129037
5714
 
Node: Makefile Basics130036
5715
 
Node: Utilities in Makefiles133210
5716
 
Node: Command Variables135708
5717
 
Node: DESTDIR138954
5718
 
Node: Directory Variables141128
5719
 
Node: Standard Targets155621
5720
 
Ref: Standard Targets-Footnote-1169234
5721
 
Node: Install Command Categories169334
5722
 
Node: Releases173867
5723
 
Node: References177797
5724
 
Node: GNU Free Documentation License183644
5725
 
Node: Index208811
 
5692
Node: Top813
 
5693
Node: Preface2088
 
5694
Node: Legal Issues4801
 
5695
Node: Reading Non-Free Code5271
 
5696
Node: Contributions7001
 
5697
Node: Trademarks9239
 
5698
Node: Design Advice10874
 
5699
Node: Source Language11466
 
5700
Node: Compatibility13592
 
5701
Node: Using Extensions15220
 
5702
Node: Standard C16796
 
5703
Node: Conditional Compilation19199
 
5704
Node: Program Behavior20597
 
5705
Node: Non-GNU Standards21713
 
5706
Node: Semantics23994
 
5707
Node: Libraries28714
 
5708
Node: Errors29959
 
5709
Node: User Interfaces32452
 
5710
Node: Graphical Interfaces34057
 
5711
Node: Command-Line Interfaces35241
 
5712
Node: --version37273
 
5713
Node: --help43010
 
5714
Node: Option Table43883
 
5715
Node: OID Allocations58838
 
5716
Node: Memory Usage60635
 
5717
Node: File Usage61671
 
5718
Node: Writing C62421
 
5719
Node: Formatting63393
 
5720
Node: Comments67682
 
5721
Node: Syntactic Conventions71234
 
5722
Node: Names74696
 
5723
Node: System Portability76908
 
5724
Node: CPU Portability79799
 
5725
Node: System Functions83700
 
5726
Node: Internationalization88897
 
5727
Node: Character Set92891
 
5728
Node: Quote Characters93704
 
5729
Node: Mmap95224
 
5730
Node: Documentation95932
 
5731
Node: GNU Manuals97038
 
5732
Node: Doc Strings and Manuals102776
 
5733
Node: Manual Structure Details104329
 
5734
Node: License for Manuals105747
 
5735
Node: Manual Credits106721
 
5736
Node: Printed Manuals107114
 
5737
Node: NEWS File107800
 
5738
Node: Change Logs108478
 
5739
Node: Change Log Concepts109232
 
5740
Node: Style of Change Logs111335
 
5741
Node: Simple Changes113835
 
5742
Node: Conditional Changes115277
 
5743
Node: Indicating the Part Changed116699
 
5744
Node: Man Pages117226
 
5745
Node: Reading other Manuals119432
 
5746
Node: Managing Releases120223
 
5747
Node: Configuration121004
 
5748
Node: Makefile Conventions129669
 
5749
Node: Makefile Basics130668
 
5750
Node: Utilities in Makefiles133842
 
5751
Node: Command Variables136347
 
5752
Node: DESTDIR139593
 
5753
Node: Directory Variables141767
 
5754
Node: Standard Targets156389
 
5755
Ref: Standard Targets-Footnote-1170161
 
5756
Node: Install Command Categories170261
 
5757
Node: Releases174794
 
5758
Node: References178799
 
5759
Node: GNU Free Documentation License184646
 
5760
Node: Index209813
5726
5761
 
5727
5762
End Tag Table