User guide

Chapter 4. Compiling and Building
50
Also important is to note that building with -m32 will in not adapt or convert a program to resolve any
issues arising from 32/64-bit incompatibilities. For tips on writing portable code and converting from
32-bits to 64-bits, see the paper entitled Porting to 64-bit GNU/Linux Systems in the Proceedings of
the 2003 GCC Developers Summit
6
.
4.1.7. GCC Documentation
For more information about GCC compilers, refer to the man pages for cpp, gcc, g++, gcj, and
gfortran.
the following online user manuals are also available:
GCC 4.4.4 Manual
7
GCC 4.4.4 GNU Fortran Manual
8
GCC 4.4.4 GCJ Manual
9
GCC 4.4.4 CPP Manual
10
GCC 4.4.4 GNAT Reference Manual
11
GCC 4.4.4 GNAT User's Guide
12
GCC 4.4.4 GNU OpenMP Manual
13
The main site for the development of GCC is gcc.gnu.org
14
.
4.2. Distributed Compiling
Red Hat Enterprise Linux 6 also supports distributed compiling. This involves transforming one
compile job into many smaller jobs; these jobs are distributed over a cluster of machines, which
speeds up build time (particularly for programs with large codebases). The distcc package provides
this capability.
To set up distributed compiling, install the following packages:
distcc
distcc-server
For more information about distributed compiling, refer to the man pages for distcc and distccd.
The following link also provides detailed information about the development of distcc:
http://code.google.com/p/distcc
4.3. Autotools
GNU Autotools is a suite of command-line tools that allow developers to build applications on different
systems, regardless of the installed packages or even Linux distribution. These tools aid developers
in creating a configure script. This script runs prior to builds and creates the top-level Makefiles
needed to build the application. The configure script may perform tests on the current system,
create additional files, or run other directives as per parameters provided by the builder.
6
http://www.linux.org.uk/~ajh/gcc/gccsummit-2003-proceedings.pdf
14
http://gcc.gnu.org