configopts.html: Update for current status.

2001-01-21  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/configopts.html:  Update for current status.  Fix HTML.
	* docs/html/install.html:  Update for current status.

From-SVN: r39166
This commit is contained in:
Phil Edwards 2001-01-21 09:36:09 +00:00
parent 02a65aef50
commit 0505b0467f
3 changed files with 51 additions and 77 deletions

View File

@ -1,3 +1,8 @@
2001-01-21 Phil Edwards <pme@sources.redhat.com>
* docs/html/configopts.html: Update for current status. Fix HTML.
* docs/html/install.html: Update for current status.
2001-01-20 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
* testsuite/libstdc++.tests/tests.exp: New file.

View File

@ -7,7 +7,7 @@
<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.2 2001/01/02 22:52:51 bkoz Exp $ -->
<!-- $Id: configopts.html,v 1.3 2001/01/03 15:53:27 bkoz Exp $ -->
</HEAD>
<BODY>
@ -55,7 +55,7 @@ options</A></H1>
inside GDB.
</P>
<DT><TT>--enable-cstdio </TT>[default]
<DT><TT>--enable-cstdio </TT>
<DD><P>This is an abbreviated form of <TT>'--enable-cstdio=stdio'</TT>
(described next).
</P>
@ -65,7 +65,8 @@ options</A></H1>
snapshot 2.91, 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.
GNU C library), or 'stdio' to use a generic &quot;C&quot;
abstraction. The default is 'stdio'.
</P>
<DT><TT>--enable-long-long </TT>
@ -73,11 +74,11 @@ options</A></H1>
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). This option is off by
default: if enabled, users will have to either use the
new-style "C" headers by default (ie cmath not math.h) or add
appropriate compile-time flags to all compile lines to allow
"C" visibility of this feature (on gnu-linux, the flag is
-D_ISOC99_SOURCE).
default: if enabled, users will have to either use the
new-style &quot;C&quot; headers by default (ie cmath not math.h)
or add appropriate compile-time flags to all compile lines to
allow &quot;C&quot; visibility of this feature (on GNU/Linux,
the flag is -D_ISOC99_SOURCE).
</P>
<DT><TT>--enable-cheaders=OPTION </TT>
@ -106,7 +107,7 @@ options</A></H1>
</P>
<P>All of this is currently undergoing a lot of changes. As of
2.91, 'single' and 'posix' are the only implemented
models. Default is off.
models. Default is single.
</P>
<DT><TT>--enable-version-specific-runtime-libs </TT>
@ -177,7 +178,7 @@ options</A></H1>
<HR>
<P CLASS="fineprint"><EM>
$Id: configopts.html,v 1.2 2000/12/21 22:52:51 bkoz Exp $
$Id: configopts.html,v 1.3 2001/01/03 15:53:27 bkoz Exp $
</EM></P>

View File

@ -7,7 +7,7 @@
<META NAME="GENERATOR" CONTENT="vi and eight fingers">
<TITLE>libstdc++-v3 Installation Instructions</TITLE>
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: install.html,v 1.12 2000/12/03 23:47:47 jsm28 Exp $ -->
<!-- $Id: install.html,v 1.1 2000/12/10 04:03:08 pme Exp $ -->
</HEAD>
<BODY>
@ -39,7 +39,7 @@
<H2><A NAME="prereqs">Tools you will need beforehand</A></H2>
<P>You will need a recent version of g++ to compile the snapshot of
libstdc++: gcc-2.95.2 works well, or one of the post-2.95.2 GCC
libstdc++, one of the post-2.95.2 GCC
snapshots (insert standard caveat about using snapshots rather
than formal releases). You will need the full source
distribution to whatever compiler release you are using. The
@ -86,11 +86,6 @@
and above) as earlier versions supposedly had problems creating
shared libraries.
<DT>Solaris
<DD>We recommend installing the <TT>SUNWxcu4</TT> package from the
Solaris CD before configuring the library. You can check for
this package as a non-privileged user with the command
&quot;pkginfo SUNWxcu4&quot;.
</DL>
</P>
@ -133,7 +128,7 @@
</UL>
Note:
<OL>
<LI>The .8 snapshot and following are intended to replace the
<LI>The .91 snapshot and following are intended to replace the
library that comes with the compiler, so <EM>libsrcdir</EM>
and <EM>libbuilddir</EM> must be contained under
<EM>gccsrcdir</EM> and <EM>gccbuilddir</EM>, respectively.
@ -147,21 +142,19 @@
<P>Since the release of libstdc++-2.90.8, configuration patches have gone
into CVS gcc that make the management of the various libstdc++ source
trees a bit easier. Because of this, both libstdc++-v2 and
libstdc++-v3 and live together more or less in peace, without the need
for soft linking. If a CVS gcc source directory after April 5, 2000 is
being used, then the directions are slightly different: please pick
which of the following two scenarios best represents your particular
situation.
libstdc++-v3 and live together in peace, without the need
for soft linking. The setup instructions are slightly different,
depending on whether you want to use CVS gcc or a snapshot. Please
choose the appropriate scenario:
</P>
<P><B>...with gcc-2.95.2</B>
<P><B>...with a gcc-2.9[67] snapshot</B>
<P>Unpack the <EM>gccsrcdir</EM> and go into that directory. For
instance, <TT>gcc-2.95.2</TT> is a valid <EM>gccsrcdir</EM>.
Once in <EM>gccsrcdir</EM>, you'll need to rename the directories
called <TT> libstdc++ </TT> and <TT> libio </TT> like so:
X instance, <TT>gcc-2.95.2</TT> is a valid <EM>gccsrcdir</EM>.
Once in <EM>gccsrcdir</EM>, you'll need to rename the libstdc++-v3
directory which comes with that snapshot:
<PRE>
mv libstdc++ libstdc++-v2
mv libio libio-v2</PRE>
mv libstdc++-v3 libstdc++-v3-previous</PRE>
</P>
<P>Next, unpack the libstdc++-v3 library tarball into the
<EM>gccsrcdir</EM> directory; it will create a
@ -170,21 +163,19 @@
gzip -dc libstdc++-version.tar.gz | tar xf -</PRE>
</P>
<P>Finally, make a soft link between <EM>libsrcdir</EM> and
<TT>libstdc++</TT> so that libstdc++-v3 will be the default C++
<TT>libstdc++-v3</TT> so that libstdc++-v3 will be the default C++
library used.
<PRE>
ln -s <EM>libsrcdir</EM> libstdc++</PRE>
This complexity of having two completely separate libstdc++
libraries is necessary so that you can unlink <EM>libsrcdir</EM>
and update the compiler sources. If you're not this adventurous, or
would not like to switch between different C++ standard libraries,
this extra effort is probably wasted; just remove the v2 sources.
ln -s <EM>libsrcdir</EM> libstdc++-v3</PRE>
</P>
</P>
<P><B>...with CVS gcc</B>
<P>Check out or download the gcc sources: the resulting source
directory is <EM>gccsrcdir</EM>.
directory is <EM>gccsrcdir</EM>. Once in <EM>gccsrcdir</EM>,
you'll need to rename the libstdc++-v3 directory which comes
with that snapshot:
mv libstdc++-v3 libstdc++-v3-previous</PRE>
</P>
<P>Next, unpack the libstdc++-v3 library tarball into this
<EM>gccsrcdir</EM> directory; it will create a
@ -192,11 +183,6 @@
<PRE>
gzip -dc libstdc++-version.tar.gz | tar xf -</PRE>
</P>
<P>If CVS libstdc++-v3 is being used instead of a snapshot's tarball,
then move the source directory from the CVS checkout into the
<EM>gccsrcdir</EM> directory.
<P>Finally, rename <EM>libsrcdir</EM> to <TT>libstdc++-v3</TT> so that
gcc's configure flags will be able to deal with the new library.
<PRE>
@ -207,6 +193,10 @@
<HR>
<H2><A NAME="config">Configuring</A></H2>
<P>If you have never done this before, you should read the basic
<A HREF="http://gcc.gnu.org/install/">GCC Installation
Instructions</A> first.
</P>
<P>Due to namespaces, when building libstdc++-v3 you'll have to configure
the entire <EM>gccsrcdir</EM> directory. The full list of libstdc++-v3
specific configuration options, not dependent on the specific compiler
@ -216,13 +206,8 @@
building the C++ language parts.
</P>
<P><B>...with gcc-2.95.2</B>
<PRE>
<EM>gccsrcdir</EM>/configure --prefix=<EM>destdir</EM></PRE>
</P>
<P><B>...with CVS gcc</B>
<PRE>
<P><PRE>
cd <EM>gccbuilddir</EM>
<EM>gccsrcdir</EM>/configure --prefix=<EM>destdir</EM> --enable-libstdcxx-v3</PRE>
</P>
@ -242,37 +227,17 @@
as its default C++ library. The generated g++ will magically
use the correct headers, link against the correct library
binary, and in general using libstdc++-v3 will be a piece of
cake. You're done; run <TT>'make install'</TT> (the GCC
Installation instructions) to put the new compiler and libraries
cake. You're done; run <TT>'make install'</TT> (see the GCC
installation instructions) to put the new compiler and libraries
into place.
</P>
<H3>[re]building only libstdc++</H3>
<P>Due to differences in the configure process, the resulting Makefiles
in the<EM>gccbuilddir</EM> will have different rules depending on
the source base being used.
</P>
<P><B>...with gcc-2.95.2</B>
<BLOCKQUOTE>
<EM>libstdc++-rule</EM> is <TT>libstdc++</TT>
</BLOCKQUOTE>
</P>
<P><B>...with CVS gcc</B>
<BLOCKQUOTE>
<EM>libstdc++-rule</EM> is <TT>libstdc++-v3</TT>
</BLOCKQUOTE>
</P>
<P>To rebuild just libstdc++, use:
<PRE>
make all-target-<EM>libstdc++-rule</EM></PRE>
make all-target-<EM>libstdc++-v3</EM></PRE>
This will configure and build the C++ library in the
<EM>gccbuilddir/cpu-vendor-OS/</EM>libstdc++ directory.
As en example, for CVS gcc this would be
<TT>make all-target-libstdc++-v3</TT>, and for gcc-2.95.2 it would be
<TT>make all-target-libstdc++</TT>
</P>
<P>If the build fails with a &quot;warning: can't inline call&quot;
message when compiling stringMAIN.cc, see <A HREF="#Werror">the
@ -305,7 +270,9 @@
lib/
include/g++-v3/
bits/
backward/
ext/
cpu-vendor-OS/include/g++-v3/
bits/
ext/</PRE>
</P>
<P>You can check the status of the build without installing it using
@ -313,7 +280,8 @@
make check</PRE>
or you can check the status of the installed library using
<PRE>
make check-target-<EM>libstdc++-rule</EM></PRE>
make check-install</PRE>
in the <EM>libbuilddir</EM> directory.
These commands will create a 'testsuite' directory underneath
<EM>libbuilddir</EM> containing the results of the tests. We are
interested in any strange failures of the testsuite; please see
@ -344,8 +312,8 @@
which will in turn pass them on to the linker. The exact
format of the options is dependent on which linker you use:
<UL>
<LI>GNU ld (default on Linux):<TT> -Wl,--rpath -Wl,<EM>destdir</EM>/lib</TT>
<LI>IRIX ld:<TT> -Wl,-rpath -Wl,<EM>destdir</EM>/lib</TT>
<LI>GNU ld (default on Linux):<TT> -Wl,--rpath,<EM>destdir</EM>/lib</TT>
<LI>IRIX ld:<TT> -Wl,-rpath,<EM>destdir</EM>/lib</TT>
<LI>Solaris ld:<TT> -Wl,-R<EM>destdir</EM>/lib</TT>
<LI>More...?
</UL>
@ -402,7 +370,7 @@
Comments and suggestions are welcome, and may be sent to
<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or
<A HREF="mailto:gdr@gcc.gnu.org">Gabriel Dos Reis</A>.
<BR> $Id: install.html,v 1.12 2000/12/03 23:47:47 jsm28 Exp $
<BR> $Id: install.html,v 1.1 2000/12/10 04:03:08 pme Exp $
</EM></P>