gdb: Running Configure
C.2 Invoking the GDB 'configure' Script
=======================================
GDB comes with a 'configure' script that automates the process of
preparing GDB for installation; you can then use 'make' to build the
'gdb' program.
The GDB distribution includes all the source code you need for GDB in
a single directory, whose name is usually composed by appending the
version number to 'gdb'.
For example, the GDB version 8.3.1 distribution is in the 'gdb-8.3.1'
directory. That directory contains:
'gdb-8.3.1/configure (and supporting files)'
script for configuring GDB and all its supporting libraries
'gdb-8.3.1/gdb'
the source specific to GDB itself
'gdb-8.3.1/bfd'
source for the Binary File Descriptor library
'gdb-8.3.1/include'
GNU include files
'gdb-8.3.1/libiberty'
source for the '-liberty' free software library
'gdb-8.3.1/opcodes'
source for the library of opcode tables and disassemblers
'gdb-8.3.1/readline'
source for the GNU command-line interface
There may be other subdirectories as well.
The simplest way to configure and build GDB is to run 'configure'
from the 'gdb-VERSION-NUMBER' source directory, which in this example is
the 'gdb-8.3.1' directory.
First switch to the 'gdb-VERSION-NUMBER' source directory if you are
not already in it; then run 'configure'. Pass the identifier for the
platform on which GDB will run as an argument.
For example:
cd gdb-8.3.1
./configure
make
Running 'configure' and then running 'make' builds the included
supporting libraries, then 'gdb' itself. The configured source files,
and the binaries, are left in the corresponding source directories.
'configure' is a Bourne-shell ('/bin/sh') script; if your system does
not recognize this automatically when you run a different shell, you may
need to run 'sh' on it explicitly:
sh configure
You should run the 'configure' script from the top directory in the
source tree, the 'gdb-VERSION-NUMBER' directory. If you run 'configure'
from one of the subdirectories, you will configure only that
subdirectory. That is usually not what you want. In particular, if you
run the first 'configure' from the 'gdb' subdirectory of the
'gdb-VERSION-NUMBER' directory, you will omit the configuration of
'bfd', 'readline', and other sibling directories of the 'gdb'
subdirectory. This leads to build errors about missing include files
such as 'bfd/bfd.h'.
You can install 'GDB' anywhere. The best way to do this is to pass
the '--prefix' option to 'configure', and then install it with 'make
install'.