Tutorial GNU Development tools
150 Pages
English

Tutorial GNU Development tools

Downloading requires you to have access to the YouScribe library
Learn all about the services we offer

Description

Learning the GNU development toolsLearning the GNU development toolsLearning the GNU development toolsThis is edition 0.11.4Last updated, 3 April 2003Eleftherios Gkioulekas Department of Applied Mathematics - University of WashingtonMarcelo Roberto Jimenez Pontificia Universidade Cat olica do Rio de Janeiro (PUC-Rio)cCopyright 1998-2003 Eleftherios Gkioulekas and Marcelo Roberto Jimenez. All rightsreserved.Permission is granted to make and distribute verbatim copies of this manual provided thecopyright notice and this permission notice are preserved on all copies.Permission is granted to copy and distribute modi ed versions of this manual under theconditions for verbatim copying, provided that the sections entitled “Copying” and “Philo-sophicalissues”areincludedexactlyasintheoriginal,andprovidedthattheentireresultingderived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another lan-guage, under the above conditions for modi ed versions, except that this permission noticeand the sections entitled “Copying” and “Philosophical issues” may be stated in a transla-tion approved by the Free Software Foundation instead of the original English.iShort ContentsPreface ......................................... 1Acknowledgements ................................. 5Copying........................ ...

Subjects

Informations

Published by
Reads 31
Language English

Learning the GNU development toolsLearning the GNU development tools
Learning the GNU development tools
This is edition 0.11.4
Last updated, 3 April 2003
Eleftherios Gkioulekas <lf@amath.washington.edu>
Department of Applied Mathematics - University of Washington
Marcelo Roberto Jimenez <mroberto@cetuc.puc-rio.br>
Pontificia Universidade Cat olica do Rio de Janeiro (PUC-Rio)cCopyright 1998-2003 Eleftherios Gkioulekas and Marcelo Roberto Jimenez. All rights
reserved.
Permission is granted to make and distribute verbatim copies of this manual provided the
copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modi ed versions of this manual under the
conditions for verbatim copying, provided that the sections entitled “Copying” and “Philo-
sophicalissues”areincludedexactlyasintheoriginal,andprovidedthattheentireresulting
derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another lan-
guage, under the above conditions for modi ed versions, except that this permission notice
and the sections entitled “Copying” and “Philosophical issues” may be stated in a transla-
tion approved by the Free Software Foundation instead of the original English.i
Short Contents
Preface ......................................... 1
Acknowledgements ................................. 5
Copying......................................... 7
1 Introduction to the GNU build system................. 9
2 Writing Good Programs.......................... 29
3 Using GNU Emacs ............................. 37
4 Compiling with Make les ......................... 47
5 Using Automake and Autoconf ..................... 59
6 Using Autotools ............................... 85
7 C++ and Autoconf ............................. 103
8 Fortran with Autoconf .......................... 105
9 Maintaining Documentation ...................... 119
A Legal issues with Free Software .................... 121
B Philosophical issues ............................ 127ii Learning the GNU development toolsiii
Table of Contents
Preface....................................... 1
Acknowledgements ............................ 5
Copying ...................................... 7
1 Introduction to the GNU build system ...... 9
1.1 Installing a GNU package................................ 9
1.2ing the GNU build system ........................ 10
1.3 Hello world example.................................... 11
1.4 Understanding the hello world example.................. 14
1.5 Using con guration headers ............................. 17
1.6 Maintaining the documentation les..................... 20
1.7 Organizing your project in subdirectories................. 22
1.8 Hello world with an attitude – How to do it with acmkdir.. 23
1.9 Tracking version numbers............................... 26
2 Writing Good Programs................... 29
2.1 Why good code is important............................ 29
2.2 Choosing a good programming language ................. 29
2.3 Developing libraries .................................... 31
2.4 Developing applications................................. 33
2.5 Free software is good software........................... 34
2.6 Invoking the ‘gpl’ utility................................ 34
2.7 Inserting notices with Emacs............................ 35
3 Using GNU Emacs........................ 37
3.1 Introduction to Emacs.................................. 37
3.2 Installing GNUs.................................. 38
3.3 Con guring GNU Emacs ................................ 39
3.4 Using vi emulation..................................... 42
3.5 Emacs as an IDE................................. 45
3.6 Inserting copyright notices with Emacs................... 45
3.7 Using Emacs as an email client.......................... 45
3.8 Handling patches....................................... 45
3.9 Further reading on Emacs .............................. 45
4 Compiling with Make les ................. 47
4.1 Direct compilation ..................................... 47
4.2 Enter Makeles........................................ 48
4.3 Problems with Makeles and workarounds................ 51
4.4 Building libraries....................................... 54