gdb: Requirements

 
 C.1 Requirements for Building GDB
 =================================
 
 Building GDB requires various tools and packages to be available.  Other
 packages will be used only if they are found.
 
 Tools/Packages Necessary for Building GDB
 =========================================
 
 C++11 compiler
      GDB is written in C++11.  It should be buildable with any recent
      C++11 compiler, e.g. GCC.
 
 GNU make
      GDB's build system relies on features only found in the GNU make
      program.  Other variants of 'make' will not work.
 
 Tools/Packages Optional for Building GDB
 ========================================
 
 Expat
      GDB can use the Expat XML parsing library.  This library may be
      included with your operating system distribution; if it is not, you
      can get the latest version from <http://expat.sourceforge.net>.
      The 'configure' script will search for this library in several
      standard locations; if it is installed in an unusual path, you can
      use the '--with-libexpat-prefix' option to specify its location.
 
      Expat is used for:
 
         * Remote protocol memory maps (SeeMemory Map Format)
         * Target descriptions (SeeTarget Descriptions)
         * Remote shared library lists (SeeLibrary List Format, or
           alternatively SeeLibrary List Format for SVR4 Targets)
         * MS-Windows shared libraries (SeeShared Libraries)
         * Traceframe info (SeeTraceframe Info Format)
DONTPRINTYET          * Branch trace (SeeBranch Trace Format, *noteBranch Trace
           Configuration Format::)
 
 Guile
      GDB can be scripted using GNU Guile.  SeeGuile.  By default,
      GDB will be compiled if the Guile libraries are installed and are
      found by 'configure'.  You can use the '--with-guile' option to
      request Guile, and pass either the Guile version number or the file
      name of the relevant 'pkg-config' program to choose a particular
      version of Guile.
 
 iconv
      GDB's features related to character sets (SeeCharacter Sets)
      require a functioning 'iconv' implementation.  If you are on a GNU
      system, then this is provided by the GNU C Library.  Some other
      systems also provide a working 'iconv'.
 
      If GDB is using the 'iconv' program which is installed in a
      non-standard place, you will need to tell GDB where to find it.
      This is done with '--with-iconv-bin' which specifies the directory
      that contains the 'iconv' program.  This program is run in order to
      make a list of the available character sets.
 
      On systems without 'iconv', you can install GNU Libiconv.  If
      Libiconv is installed in a standard place, GDB will automatically
      use it if it is needed.  If you have previously installed Libiconv
      in a non-standard place, you can use the '--with-libiconv-prefix'
      option to 'configure'.
 
      GDB's top-level 'configure' and 'Makefile' will arrange to build
      Libiconv if a directory named 'libiconv' appears in the top-most
      source directory.  If Libiconv is built this way, and if the
      operating system does not provide a suitable 'iconv'
      implementation, then the just-built library will automatically be
      used by GDB.  One easy way to set this up is to download GNU
      Libiconv, unpack it inside the top-level directory of the GDB
      source tree, and then rename the directory holding the Libiconv
      source code to 'libiconv'.
 
 lzma
      GDB can support debugging sections that are compressed with the
      LZMA library.  SeeMiniDebugInfo.  If this library is not
      included with your operating system, you can find it in the xz
      package at <http://tukaani.org/xz/>.  If the LZMA library is
      available in the usual place, then the 'configure' script will use
      it automatically.  If it is installed in an unusual path, you can
      use the '--with-lzma-prefix' option to specify its location.
 
 MPFR
      GDB can use the GNU MPFR multiple-precision floating-point library.
      This library may be included with your operating system
      distribution; if it is not, you can get the latest version from
      <http://www.mpfr.org>.  The 'configure' script will search for this
      library in several standard locations; if it is installed in an
      unusual path, you can use the '--with-libmpfr-prefix' option to
      specify its location.
 
      GNU MPFR is used to emulate target floating-point arithmetic during
      expression evaluation when the target uses different floating-point
      formats than the host.  If GNU MPFR it is not available, GDB will
      fall back to using host floating-point arithmetic.
 
 Python
      GDB can be scripted using Python language.  SeePython.  By
      default, GDB will be compiled if the Python libraries are installed
      and are found by 'configure'.  You can use the '--with-python'
      option to request Python, and pass either the file name of the
      relevant 'python' executable, or the name of the directory in which
      Python is installed, to choose a particular installation of Python.
 
 zlib
      GDB will use the 'zlib' library, if available, to read compressed
      debug sections.  Some linkers, such as GNU gold, are capable of
      producing binaries with compressed debug sections.  If GDB is
      compiled with 'zlib', it will be able to read the debug information
      in such binaries.
 
      The 'zlib' library is likely included with your operating system
      distribution; if it is not, you can get the latest version from
      <http://zlib.net>.