blob: 9deb961c1fb69325353634f8f870f8cd5c983c03 [file] [log] [blame]
<html lang="en">
<head>
<title>Configure Options - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Installing-GDB.html#Installing-GDB" title="Installing GDB">
<link rel="prev" href="Config-Names.html#Config-Names" title="Config Names">
<link rel="next" href="System_002dwide-configuration.html#System_002dwide-configuration" title="System-wide configuration">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Configure-Options"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="System_002dwide-configuration.html#System_002dwide-configuration">System-wide configuration</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Config-Names.html#Config-Names">Config Names</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Installing-GDB.html#Installing-GDB">Installing GDB</a>
<hr>
</div>
<h3 class="section">C.5 <samp><span class="file">configure</span></samp> Options</h3>
<p>Here is a summary of the <samp><span class="file">configure</span></samp> options and arguments that
are most often useful for building <span class="sc">gdb</span>. <samp><span class="file">configure</span></samp>
also has several other options not listed here. see <a href="../autoconf.info/Running-configure-scripts.html#Running-configure-scripts">Running configure scripts</a>, for a full
explanation of <samp><span class="file">configure</span></samp>.
<pre class="smallexample"> configure <span class="roman">[</span>--help<span class="roman">]</span>
<span class="roman">[</span>--prefix=<var>dir</var><span class="roman">]</span>
<span class="roman">[</span>--exec-prefix=<var>dir</var><span class="roman">]</span>
<span class="roman">[</span>--srcdir=<var>dirname</var><span class="roman">]</span>
<span class="roman">[</span>--target=<var>target</var><span class="roman">]</span>
</pre>
<p class="noindent">You may introduce options with a single &lsquo;<samp><span class="samp">-</span></samp>&rsquo; rather than
&lsquo;<samp><span class="samp">--</span></samp>&rsquo; if you prefer; but you may abbreviate option names if you use
&lsquo;<samp><span class="samp">--</span></samp>&rsquo;.
<dl>
<dt><code>--help</code><dd>Display a quick summary of how to invoke <samp><span class="file">configure</span></samp>.
<br><dt><code>--prefix=</code><var>dir</var><dd>Configure the source to install programs and files under directory
<samp><var>dir</var></samp>.
<br><dt><code>--exec-prefix=</code><var>dir</var><dd>Configure the source to install programs under directory
<samp><var>dir</var></samp>.
<!-- avoid splitting the warning from the explanation: -->
<br><dt><code>--srcdir=</code><var>dirname</var><dd>Use this option to make configurations in directories separate from the
<span class="sc">gdb</span> source directories. Among other things, you can use this to
build (or maintain) several configurations simultaneously, in separate
directories. <samp><span class="file">configure</span></samp> writes configuration-specific files in
the current directory, but arranges for them to use the source in the
directory <var>dirname</var>. <samp><span class="file">configure</span></samp> creates directories under
the working directory in parallel to the source directories below
<var>dirname</var>.
<br><dt><code>--target=</code><var>target</var><dd>Configure <span class="sc">gdb</span> for cross-debugging programs running on the specified
<var>target</var>. Without this option, <span class="sc">gdb</span> is configured to debug
programs that run on the same machine (<var>host</var>) as <span class="sc">gdb</span> itself.
<p>There is no convenient way to generate a list of all available
targets. Also see the <code>--enable-targets</code> option, below.
</dl>
<p>There are many other options that are specific to <span class="sc">gdb</span>. This
lists just the most common ones; there are some very specialized
options not described here.
<dl>
<dt><code>--enable-targets=</code><span class="roman">[</span><var>target</var><span class="roman">]</span><code>...</code><dt><code>--enable-targets=all</code><dd>Configure <span class="sc">gdb</span> for cross-debugging programs running on the
specified list of targets. The special value &lsquo;<samp><span class="samp">all</span></samp>&rsquo; configures
<span class="sc">gdb</span> for debugging programs running on any target it supports.
<br><dt><code>--with-gdb-datadir=</code><var>path</var><dd>Set the <span class="sc">gdb</span>-specific data directory. <span class="sc">gdb</span> will look
here for certain supporting files or scripts. This defaults to the
<samp><span class="file">gdb</span></samp> subdirectory of &lsquo;<samp><span class="samp">datadi</span></samp>&rsquo; (which can be set using
<code>--datadir</code>).
<br><dt><code>--with-relocated-sources=</code><var>dir</var><dd>Sets up the default source path substitution rule so that directory
names recorded in debug information will be automatically adjusted for
any directory under <var>dir</var>. <var>dir</var> should be a subdirectory of
<span class="sc">gdb</span>'s configured prefix, the one mentioned in the
<code>--prefix</code> or <code>--exec-prefix</code> options to configure. This
option is useful if GDB is supposed to be moved to a different place
after it is built.
<br><dt><code>--enable-64-bit-bfd</code><dd>Enable 64-bit support in BFD on 32-bit hosts.
<br><dt><code>--disable-gdbmi</code><dd>Build <span class="sc">gdb</span> without the GDB/MI machine interface
(see <a href="GDB_002fMI.html#GDB_002fMI">GDB/MI</a>).
<br><dt><code>--enable-tui</code><dd>Build <span class="sc">gdb</span> with the text-mode full-screen user interface
(TUI). Requires a curses library (ncurses and cursesX are also
supported).
<br><dt><code>--with-curses</code><dd>Use the curses library instead of the termcap library, for text-mode
terminal operations.
<br><dt><code>--with-libunwind-ia64</code><dd>Use the libunwind library for unwinding function call stack on ia64
target platforms. See http://www.nongnu.org/libunwind/index.html for
details.
<br><dt><code>--with-system-readline</code><dd>Use the readline library installed on the host, rather than the
library supplied as part of <span class="sc">gdb</span>.
<br><dt><code>--with-system-zlib</code><dd>Use the zlib library installed on the host, rather than the library
supplied as part of <span class="sc">gdb</span>.
<br><dt><code>--with-expat</code><dd>Build <span class="sc">gdb</span> with Expat, a library for XML parsing. (Done by
default if libexpat is installed and found at configure time.) This
library is used to read XML files supplied with <span class="sc">gdb</span>. If it
is unavailable, some features, such as remote protocol memory maps,
target descriptions, and shared library lists, that are based on XML
files, will not be available in <span class="sc">gdb</span>. If your host does not
have libexpat installed, you can get the latest version from
`http://expat.sourceforge.net'.
<br><dt><code>--with-libiconv-prefix</code><span class="roman">[</span><code>=</code><var>dir</var><span class="roman">]</span><dd>
Build <span class="sc">gdb</span> with GNU libiconv, a character set encoding
conversion library. This is not done by default, as on GNU systems
the <code>iconv</code> that is built in to the C library is sufficient. If
your host does not have a working <code>iconv</code>, you can get the latest
version of GNU iconv from `https://www.gnu.org/software/libiconv/'.
<p><span class="sc">gdb</span>'s build system also supports building GNU libiconv as
part of the overall build. See <a href="Requirements.html#Requirements">Requirements</a>.
<br><dt><code>--with-lzma</code><dd>Build <span class="sc">gdb</span> with LZMA, a compression library. (Done by default
if liblzma is installed and found at configure time.) LZMA is used by
<span class="sc">gdb</span>'s "mini debuginfo" feature, which is only useful on
platforms using the ELF object file format. If your host does not
have liblzma installed, you can get the latest version from
`https://tukaani.org/xz/'.
<br><dt><code>--with-mpfr</code><dd>Build <span class="sc">gdb</span> with GNU MPFR, a library for multiple-precision
floating-point computation with correct rounding. (Done by default if
GNU MPFR is installed and found at configure time.) This library 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 is not available, <span class="sc">gdb</span> will fall back
to using host floating-point arithmetic. If your host does not have
GNU MPFR installed, you can get the latest version from
`http://www.mpfr.org'.
<br><dt><code>--with-python</code><span class="roman">[</span><code>=</code><var>python</var><span class="roman">]</span><dd>Build <span class="sc">gdb</span> with Python scripting support. (Done by default if
libpython is present and found at configure time.) Python makes
<span class="sc">gdb</span> scripting much more powerful than the restricted CLI
scripting language. If your host does not have Python installed, you
can find it on `http://www.python.org/download/'. The oldest version
of Python supported by GDB is 2.6. The optional argument <var>python</var>
is used to find the Python headers and libraries. It can be either
the name of a Python executable, or the name of the directory in which
Python is installed.
<br><dt><code>--with-guile[=GUILE]'</code><dd>Build <span class="sc">gdb</span> with GNU Guile scripting support. (Done by default
if libguile is present and found at configure time.) If your host
does not have Guile installed, you can find it at
`https://www.gnu.org/software/guile/'. The optional argument GUILE
can be a version number, which will cause <code>configure</code> to try to
use that version of Guile; or the file name of a <code>pkg-config</code>
executable, which will be queried to find the information needed to
compile and link against Guile.
<br><dt><code>--without-included-regex</code><dd>Don't use the regex library included with <span class="sc">gdb</span> (as part of the
libiberty library). This is the default on hosts with version 2 of
the GNU C library.
<br><dt><code>--with-sysroot=</code><var>dir</var><dd>Use <var>dir</var> as the default system root directory for libraries whose
file names begin with <samp><span class="file">/lib</span></samp>' or <samp><span class="file">/usr/lib'</span></samp>. (The value of
<var>dir</var> can be modified at run time by using the <samp><span class="command">set
sysroot</span></samp> command.) If <var>dir</var> is under the <span class="sc">gdb</span> configured
prefix (set with <code>--prefix</code> or <code>--exec-prefix options</code>, the
default system root will be automatically adjusted if and when
<span class="sc">gdb</span> is moved to a different location.
<br><dt><code>--with-system-gdbinit=</code><var>file</var><dd>Configure <span class="sc">gdb</span> to automatically load a system-wide init file.
<var>file</var> should be an absolute file name. If <var>file</var> is in a
directory under the configured prefix, and <span class="sc">gdb</span> is moved to
another location after being built, the location of the system-wide
init file will be adjusted accordingly.
<br><dt><code>--enable-build-warnings</code><dd>When building the <span class="sc">gdb</span> sources, ask the compiler to warn about
any code which looks even vaguely suspicious. It passes many
different warning flags, depending on the exact version of the
compiler you are using.
<br><dt><code>--enable-werror</code><dd>Treat compiler warnings as werrors. It adds the <code>-Werror</code> flag
to the compiler, which will fail the compilation if the compiler
outputs any warning messages.
<br><dt><code>--enable-ubsan</code><dd>Enable the GCC undefined behavior sanitizer. This is disabled by
default, but passing <code>--enable-ubsan=yes</code> or
<code>--enable-ubsan=auto</code> to <code>configure</code> will enable it. The
undefined behavior sanitizer checks for C<tt>++</tt> undefined behavior.
It has a performance cost, so if you are looking at <span class="sc">gdb</span>'s
performance, you should disable it. The undefined behavior sanitizer
was first introduced in GCC 4.9.
</dl>
</body></html>