aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/docs/html/configopts.html
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/docs/html/configopts.html')
-rw-r--r--libstdc++-v3/docs/html/configopts.html175
1 files changed, 175 insertions, 0 deletions
diff --git a/libstdc++-v3/docs/html/configopts.html b/libstdc++-v3/docs/html/configopts.html
new file mode 100644
index 00000000000..a4bdd5ef21c
--- /dev/null
+++ b/libstdc++-v3/docs/html/configopts.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+<HEAD>
+ <META NAME="AUTHOR" CONTENT="pme@sources.redhat.com (Phil Edwards)">
+ <META NAME="KEYWORDS" CONTENT="libstdc++, libstdc++-v3, GCC, g++">
+ <META NAME="DESCRIPTION" CONTENT="Configuration options for libstdc++-v3.">
+ <META NAME="GENERATOR" CONTENT="vi and eight fingers">
+ <TITLE>libstdc++-v3 configure options</TITLE>
+<LINK REL=StyleSheet HREF="lib3styles.css">
+<!-- $Id: configopts.html,v 1.18 2000/12/03 23:47:46 jsm28 Exp $ -->
+</HEAD>
+<BODY>
+
+<H1 CLASS="centered"><A NAME="top">Interesting <TT>configure</TT>
+options</A></H1>
+
+<P>The latest version of this document is always available at
+ <A HREF="http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html">
+ http://gcc.gnu.org/onlinedocs/libstdc++/configopts.html</A>.
+</P>
+
+<P>To the <A HREF="http://gcc.gnu.org/libstdc++/">libstdc++-v3 homepage</A>.
+
+
+<!-- ####################################################### -->
+<HR>
+<P>Here are some of the non-obvious options to libstdc++'s configure.
+ Keep in mind that
+ <!-- This SECnn should be the "Choosing Package Options" section. -->
+ <A HREF="http://sources.redhat.com/autoconf/autoconf.html#SEC74">they
+ all have opposite forms as well</A>
+ (enable/disable and with/without). The defaults are for current
+ development sources.
+</P>
+<P>The canonical way to find out the configure options that are
+ available for a given set of libstdc++ sources is to go to the
+ source directory and then type:<TT> ./configure --help</TT>
+
+<DL>
+ <DT><TT>--enable-multilib </TT>[default]
+ <DD><P>This is part of the generic multilib support for building cross
+ compilers. As such, targets like &quot;powerpc-elf&quot; will have
+ libstdc++ built many different ways: &quot;-msoft-float&quot;
+ and not, etc. A different libstdc++ will be built for each of
+ the different multilib versions. This option is on by default.
+ </P>
+
+ <DT><TT>--enable-debug </TT>
+ <DD><P>The configure script will automatically detect the highest level
+ of optimization that the compiler in use can use (certain
+ versions of g++ will ICE if given the <TT>-O2</TT> option, but
+ this is fixed in later versions of the compiler). This --enable
+ flag will disable all optimizations and instruct the compiler to
+ emit as much extra debugging information as it can, for use
+ inside GDB.
+ </P>
+
+ <DT><TT>--enable-cstdio </TT>[default]
+ <DD><P>This is an abbreviated form of <TT>'--enable-cstdio=libio'</TT>
+ (described next).
+ </P>
+
+ <DT><TT>--enable-cstdio=LIB </TT>
+ <DD><P>Select a target-specific I/O package. As of libstdc++-v3
+ snapshot 2.90.8, the choices are 'libio' to specify the GNU
+ I/O package (from
+ <A HREF="http://sources.redhat.com/glibc/">glibc</A>, the
+ GNU C library), or 'stdio' to use a generic "C" abstraction.
+ </P>
+
+ <DT><TT>--enable-long-long </TT>
+ <DD><P>The &quot;long long&quot; type was introduced in C99. It is
+ provided as a GNU extension to C++98 in g++. This flag builds
+ support for &quot;long long&quot; into the library (specialized
+ templates and the like).
+ </P>
+
+ <DT><TT>--enable-cshadow-headers </TT>
+ <DD><P>This turns on the code to construct shadowed C headers, and to
+ use c headers in the std:: namespace. Very experimental as of
+ this writing.
+ </P>
+
+ <DT><TT>--enable-threads </TT>
+ <DD><P>This is an abbreviated form of <TT>'--enable-threads=yes'</TT>
+ (described next).
+ </P>
+
+ <DT><TT>--enable-threads=LIB </TT>
+ <DD><P>Select a threading library. As of libstdc++-v3 snapshot 2.90.8,
+ the choices are:
+ 'yes' for some kind of default (hmmmmm);
+ 'decosf1', 'irix', 'mach', 'os2', 'posix'/'pthreads'
+ (same thing),
+ 'solaris', 'win32', 'dce', or 'vxworks' to select the
+ corresponding interface;
+ and 'single', 'no', or 'none' for the null-case,
+ single-threaded library.
+ </P>
+ <P>All of this is currently undergoing a lot of changes. As of
+ 2.90.8, 'single' and 'posix' are the only implemented models.
+ </P>
+
+ <DT><TT>--enable-version-specific-runtime-libs </TT>
+ <DD><P>Specify that run-time libraries should be installed in the
+ compiler-specific subdirectory (i.e.,
+ <TT>$(libdir)/gcc-lib/$(target_alias)/$(gcc_version)</TT>)
+ instead of <TT>$(libdir)</TT>. This option is useful if you
+ intend to use several versions of gcc in parallel. In addition,
+ libstdc++'s include files will be installed in
+ <TT>$(libdir)/gcc-lib/$(target_alias)/$(gcc_version)/include/g++</TT>,
+ unless you also specify
+ <TT>--with-gxx-include-dir=_dirname_</TT> during configuration.
+ </P>
+
+
+ <DT><TT>--with-gxx-include-dir=&lt;include-files dir&gt;</TT>
+ <DD><P>Adds support for named libstdc++ include directory. For instance,
+ the following puts all the libstdc++ headers into a directory
+ called &quot;2.97-20001008&quot; instead of the usual
+ &quot;g++-v3&quot;.
+ <PRE>
+ --with-gxx-include-dir=/foo/H-x86-gcc-3-c-gxx-inc/include/2.97-20001008</PRE>
+ </P>
+
+ <DT><TT>--enable-cxx-flags=FLAGS</TT>
+ <DD><P>With this option, you can pass a string of -f (functionality)
+ flags to the compiler to use when building libstdc++. FLAGS
+ is a quoted string of options, like
+ <PRE>
+ --enable-cxx-flags='-fsquangle -fvtable-gc -ansi'</PRE>
+ Note that the flags don't necessarily have to all be -f flags,
+ as shown, but usually those are the ones that will make sense
+ for experimentation and configure-time overriding.
+ </P>
+ <P>The advantage of --enable-cxx-flags over setting CXXFLAGS in
+ the 'make' environment is that, if libgcc is automatically
+ rebuilt, the same flags will be used when compiling those files
+ as well, so that everything matches.
+ </P>
+ <P>Fun flags to try might include combinations of
+ <PRE>
+ -fstrict-aliasing
+ -fnew-abi
+ -fnew-exceptions
+ -ffunction-sections
+ -fvtable-gc</PRE>
+ and -fno- forms of the same. Tell us (the mailing list) if
+ you discover more!
+ </P>
+
+ <DT><TT>--enable-wchar </TT>[default]
+ <DD><P>Certain template specializations are required for wide character
+ conversion support. This is tricky and currently changing rapidly,
+ and can cause problems on new platforms. Disabling wide character
+ specializations is useful for initial porting steps, but builds
+ only a subset of what is required by ISO.
+ </P>
+</DL>
+</P>
+<P>Return <A HREF="#top">to the top of the page</A> or
+ <A HREF="http://gcc.gnu.org/libstdc++/">to the homepage</A>.
+</P>
+
+
+<!-- ####################################################### -->
+
+<HR>
+<P CLASS="fineprint"><EM>
+$Id: configopts.html,v 1.18 2000/12/03 23:47:46 jsm28 Exp $
+</EM></P>
+
+
+</BODY>
+</HTML>