home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / bbs / gnu / gdb-4.12-src.lha / GNU / src / amiga / gdb-4.12 / gdb / gdb.info-8 (.txt) < prev    next >
GNU Info File  |  1994-02-03  |  46KB  |  875 lines

  1. This is Info file ./gdb.info, produced by Makeinfo-1.52 from the input
  2. file gdb.texinfo.
  3. START-INFO-DIR-ENTRY
  4. * Gdb::                         The GNU debugger.
  5. END-INFO-DIR-ENTRY
  6.    This file documents the GNU debugger GDB.
  7.    This is Edition 4.12, January 1994, of `Debugging with GDB: the GNU
  8. Source-Level Debugger' for GDB Version 4.12.
  9.    Copyright (C) 1988, '89, '90, '91, '92, '93 Free Software
  10. Foundation, Inc.
  11.    Permission is granted to make and distribute verbatim copies of this
  12. manual provided the copyright notice and this permission notice are
  13. preserved on all copies.
  14.    Permission is granted to copy and distribute modified versions of
  15. this manual under the conditions for verbatim copying, provided also
  16. that the entire resulting derived work is distributed under the terms
  17. of a permission notice identical to this one.
  18.    Permission is granted to copy and distribute translations of this
  19. manual into another language, under the above conditions for modified
  20. versions.
  21. File: gdb.info,  Node: Installing GDB,  Next: Index,  Prev: Formatting Documentation,  Up: Top
  22. Installing GDB
  23. **************
  24.    GDB comes with a `configure' script that automates the process of
  25. preparing GDB for installation; you can then use `make' to build the
  26. `gdb' program.
  27.    The GDB distribution includes all the source code you need for GDB in
  28. a single directory, whose name is usually composed by appending the
  29. version number to `gdb'.
  30.    For example, the GDB version 4.12 distribution is in the `gdb-4.12'
  31. directory.  That directory contains:
  32. `gdb-4.12/configure (and supporting files)'
  33.      script for configuring GDB and all its supporting libraries.
  34. `gdb-4.12/gdb'
  35.      the source specific to GDB itself
  36. `gdb-4.12/bfd'
  37.      source for the Binary File Descriptor library
  38. `gdb-4.12/include'
  39.      GNU include files
  40. `gdb-4.12/libiberty'
  41.      source for the `-liberty' free software library
  42. `gdb-4.12/opcodes'
  43.      source for the library of opcode tables and disassemblers
  44. `gdb-4.12/readline'
  45.      source for the GNU command-line interface
  46. `gdb-4.12/glob'
  47.      source for the GNU filename pattern-matching subroutine
  48. `gdb-4.12/mmalloc'
  49.      source for the GNU memory-mapped malloc package
  50.    The simplest way to configure and build GDB is to run `configure'
  51. from the `gdb-VERSION-NUMBER' source directory, which in this example
  52. is the `gdb-4.12' directory.
  53.    First switch to the `gdb-VERSION-NUMBER' source directory if you are
  54. not already in it; then run `configure'.  Pass the identifier for the
  55. platform on which GDB will run as an argument.
  56.    For example:
  57.      cd gdb-4.12
  58.      ./configure HOST
  59.      make
  60. where HOST is an identifier such as `sun4' or `decstation', that
  61. identifies the platform where GDB will run.  (You can often leave off
  62. HOST; `configure' tries to guess the correct value by examining your
  63. system.)
  64.    Running `configure HOST' and then running `make' builds the `bfd',
  65. `readline', `mmalloc', and `libiberty' libraries, then `gdb' itself.
  66. The configured source files, and the binaries, are left in the
  67. corresponding source directories.
  68.    `configure' is a Bourne-shell (`/bin/sh') script; if your system
  69. does not recognize this automatically when you run a different shell,
  70. you may need to run `sh' on it explicitly:
  71.      sh configure HOST
  72.    If you run `configure' from a directory that contains source
  73. directories for multiple libraries or programs, such as the `gdb-4.12'
  74. source directory for version 4.12, `configure' creates configuration
  75. files for every directory level underneath (unless you tell it not to,
  76. with the `--norecursion' option).
  77.    You can run the `configure' script from any of the subordinate
  78. directories in the GDB distribution if you only want to configure that
  79. subdirectory, but be sure to specify a path to it.
  80.    For example, with version 4.12, type the following to configure only
  81. the `bfd' subdirectory:
  82.      cd gdb-4.12/bfd
  83.      ../configure HOST
  84.    You can install `gdb' anywhere; it has no hardwired paths.  However,
  85. you should make sure that the shell on your path (named by the `SHELL'
  86. environment variable) is publicly readable.  Remember that GDB uses the
  87. shell to start your program--some systems refuse to let GDB debug child
  88. processes whose programs are not readable.
  89. * Menu:
  90. * Separate Objdir::             Compiling GDB in another directory
  91. * Config Names::                Specifying names for hosts and targets
  92. * configure Options::           Summary of options for configure
  93. File: gdb.info,  Node: Separate Objdir,  Next: Config Names,  Up: Installing GDB
  94. Compiling GDB in another directory
  95. ==================================
  96.    If you want to run GDB versions for several host or target machines,
  97. you need a different `gdb' compiled for each combination of host and
  98. target.  `configure' is designed to make this easy by allowing you to
  99. generate each configuration in a separate subdirectory, rather than in
  100. the source directory.  If your `make' program handles the `VPATH'
  101. feature (GNU `make' does), running `make' in each of these directories
  102. builds the `gdb' program specified there.
  103.    To build `gdb' in a separate directory, run `configure' with the
  104. `--srcdir' option to specify where to find the source.  (You also need
  105. to specify a path to find `configure' itself from your working
  106. directory.  If the path to `configure' would be the same as the
  107. argument to `--srcdir', you can leave out the `--srcdir' option; it is
  108. assumed.)
  109.    For example, with version 4.12, you can build GDB in a separate
  110. directory for a Sun 4 like this:
  111.      cd gdb-4.12
  112.      mkdir ../gdb-sun4
  113.      cd ../gdb-sun4
  114.      ../gdb-4.12/configure sun4
  115.      make
  116.    When `configure' builds a configuration using a remote source
  117. directory, it creates a tree for the binaries with the same structure
  118. (and using the same names) as the tree under the source directory.  In
  119. the example, you'd find the Sun 4 library `libiberty.a' in the
  120. directory `gdb-sun4/libiberty', and GDB itself in `gdb-sun4/gdb'.
  121.    One popular reason to build several GDB configurations in separate
  122. directories is to configure GDB for cross-compiling (where GDB runs on
  123. one machine--the host--while debugging programs that run on another
  124. machine--the target).  You specify a cross-debugging target by giving
  125. the `--target=TARGET' option to `configure'.
  126.    When you run `make' to build a program or library, you must run it
  127. in a configured directory--whatever directory you were in when you
  128. called `configure' (or one of its subdirectories).
  129.    The `Makefile' that `configure' generates in each source directory
  130. also runs recursively.  If you type `make' in a source directory such
  131. as `gdb-4.12' (or in a separate configured directory configured with
  132. `--srcdir=PATH/gdb-4.12'), you will build all the required libraries,
  133. and then build GDB.
  134.    When you have multiple hosts or targets configured in separate
  135. directories, you can run `make' on them in parallel (for example, if
  136. they are NFS-mounted on each of the hosts); they will not interfere
  137. with each other.
  138. File: gdb.info,  Node: Config Names,  Next: configure Options,  Prev: Separate Objdir,  Up: Installing GDB
  139. Specifying names for hosts and targets
  140. ======================================
  141.    The specifications used for hosts and targets in the `configure'
  142. script are based on a three-part naming scheme, but some short
  143. predefined aliases are also supported.  The full naming scheme encodes
  144. three pieces of information in the following pattern:
  145.      ARCHITECTURE-VENDOR-OS
  146.    For example, you can use the alias `sun4' as a HOST argument, or as
  147. the value for TARGET in a `--target=TARGET' option.  The equivalent
  148. full name is `sparc-sun-sunos4'.
  149.    The `configure' script accompanying GDB does not provide any query
  150. facility to list all supported host and target names or aliases.
  151. `configure' calls the Bourne shell script `config.sub' to map
  152. abbreviations to full names; you can read the script, if you wish, or
  153. you can use it to test your guesses on abbreviations--for example:
  154.      % sh config.sub sun4
  155.      sparc-sun-sunos4.1.1
  156.      % sh config.sub sun3
  157.      m68k-sun-sunos4.1.1
  158.      % sh config.sub decstation
  159.      mips-dec-ultrix4.2
  160.      % sh config.sub hp300bsd
  161.      m68k-hp-bsd
  162.      % sh config.sub i386v
  163.      i386-unknown-sysv