0% found this document useful (0 votes)
32 views1 page

Hello 4

Uploaded by

d4t4d5en53
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views1 page

Hello 4

Uploaded by

d4t4d5en53
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

1

1 Overview
The GNU hello program (https://www.gnu.org/software/hello/) produces a familiar,
friendly greeting. It allows nonprogrammers to use a classic computer science tool which
would otherwise be unavailable to them. Because it is protected by the GNU General Public
License, users are free (in perpetuity) to share and change it.
Not to spoil the joke, but of course the practical purpose of GNU Hello is to serve as a
minimal example of a GNU package. So, although most manuals don’t need to discuss the
implementation of the programs they document, that is part of the goal here.
First, GNU Hello follows the GNU coding standards (see Section “Preface” in GNU
Coding Standards) and GNU maintainer standards (see Section “Preface” in Information
for GNU Maintainers). These are the basic documents which all GNU packages should
adhere to.
The Hello package also implements recommended development practices not embodied
in the standards, using other GNU packages and features:
• It uses Automake (see Section “Introduction” in GNU Automake) and hence also Au-
toconf (see Section “Introduction” in GNU Autoconf ) for configuration.
• It uses Gnulib (see Section “Introduction” in GNU Gnulib) to enhance portability and
avoid duplication of common sources. Both gnulib-tool and srclist-update are
used, for purposes of example. See the README-dev file in the distribution.
• GNU Gettext (see Section “Introduction” in GNU Gettext) is used for international-
ization support. Hello’s greeting has been translated into many languages.
• Internally, Hello uses the GNU getopt_long function (see Section “Getopt Long Op-
tions” in GNU C Library) to parse options, thus supporting GNU-style long options
such as --help.
• The Hello Man page is generated with GNU help2man (see Section “Overview” in GNU
help2man) from the --help output. This relieves the maintainers from the burden of
updating separate man documentation, yet provides a reasonable overview for man
devotees.
• Finally, Texinfo (see Section “Introduction” in Texinfo) is the documentation format
for this manual. It supports output in Info, HTML, PDF, DVI, plain text, XML, and
other formats.
GNU Hello is implemented in C. The GNU Gettext distribution contains “hello world”
examples in many other programming languages; see the Gettext home page at https://
www.gnu.org/software/gettext/.
The top-level Makefile.am in Hello also contains a few special targets for other projects
to adapt as desired:
diff Make a diff from the previous release, assuming the current tarball is in the
current tarball.
po-check Verify that all source files using _() are included for translation in
po/POTFILES.in, so translators will have all the messages.
wwwdoc Sample procedure for updating the manual on the GNU web site, in this case
https://www.gnu.org/software/hello/manual/.

You might also like