Commit 0505b046 by Phil Edwards

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
parent 02a65aef
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> 2001-01-20 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
* testsuite/libstdc++.tests/tests.exp: New file. * testsuite/libstdc++.tests/tests.exp: New file.
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<META NAME="GENERATOR" CONTENT="vi and eight fingers"> <META NAME="GENERATOR" CONTENT="vi and eight fingers">
<TITLE>libstdc++-v3 configure options</TITLE> <TITLE>libstdc++-v3 configure options</TITLE>
<LINK REL=StyleSheet HREF="lib3styles.css"> <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> </HEAD>
<BODY> <BODY>
...@@ -55,7 +55,7 @@ options</A></H1> ...@@ -55,7 +55,7 @@ options</A></H1>
inside GDB. inside GDB.
</P> </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> <DD><P>This is an abbreviated form of <TT>'--enable-cstdio=stdio'</TT>
(described next). (described next).
</P> </P>
...@@ -65,7 +65,8 @@ options</A></H1> ...@@ -65,7 +65,8 @@ options</A></H1>
snapshot 2.91, the choices are 'libio' to specify the GNU snapshot 2.91, the choices are 'libio' to specify the GNU
I/O package (from I/O package (from
<A HREF="http://sources.redhat.com/glibc/">glibc</A>, the <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> </P>
<DT><TT>--enable-long-long </TT> <DT><TT>--enable-long-long </TT>
...@@ -73,11 +74,11 @@ options</A></H1> ...@@ -73,11 +74,11 @@ options</A></H1>
provided as a GNU extension to C++98 in g++. This flag builds provided as a GNU extension to C++98 in g++. This flag builds
support for &quot;long long&quot; into the library support for &quot;long long&quot; into the library
(specialized templates and the like). This option is off by (specialized templates and the like). This option is off by
default: if enabled, users will have to either use the default: if enabled, users will have to either use the
new-style "C" headers by default (ie cmath not math.h) or add new-style &quot;C&quot; headers by default (ie cmath not math.h)
appropriate compile-time flags to all compile lines to allow or add appropriate compile-time flags to all compile lines to
"C" visibility of this feature (on gnu-linux, the flag is allow &quot;C&quot; visibility of this feature (on GNU/Linux,
-D_ISOC99_SOURCE). the flag is -D_ISOC99_SOURCE).
</P> </P>
<DT><TT>--enable-cheaders=OPTION </TT> <DT><TT>--enable-cheaders=OPTION </TT>
...@@ -106,7 +107,7 @@ options</A></H1> ...@@ -106,7 +107,7 @@ options</A></H1>
</P> </P>
<P>All of this is currently undergoing a lot of changes. As of <P>All of this is currently undergoing a lot of changes. As of
2.91, 'single' and 'posix' are the only implemented 2.91, 'single' and 'posix' are the only implemented
models. Default is off. models. Default is single.
</P> </P>
<DT><TT>--enable-version-specific-runtime-libs </TT> <DT><TT>--enable-version-specific-runtime-libs </TT>
...@@ -177,7 +178,7 @@ options</A></H1> ...@@ -177,7 +178,7 @@ options</A></H1>
<HR> <HR>
<P CLASS="fineprint"><EM> <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> </EM></P>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<META NAME="GENERATOR" CONTENT="vi and eight fingers"> <META NAME="GENERATOR" CONTENT="vi and eight fingers">
<TITLE>libstdc++-v3 Installation Instructions</TITLE> <TITLE>libstdc++-v3 Installation Instructions</TITLE>
<LINK REL=StyleSheet HREF="lib3styles.css"> <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> </HEAD>
<BODY> <BODY>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<H2><A NAME="prereqs">Tools you will need beforehand</A></H2> <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 <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 snapshots (insert standard caveat about using snapshots rather
than formal releases). You will need the full source than formal releases). You will need the full source
distribution to whatever compiler release you are using. The distribution to whatever compiler release you are using. The
...@@ -86,11 +86,6 @@ ...@@ -86,11 +86,6 @@
and above) as earlier versions supposedly had problems creating and above) as earlier versions supposedly had problems creating
shared libraries. 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> </DL>
</P> </P>
...@@ -133,7 +128,7 @@ ...@@ -133,7 +128,7 @@
</UL> </UL>
Note: Note:
<OL> <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> library that comes with the compiler, so <EM>libsrcdir</EM>
and <EM>libbuilddir</EM> must be contained under and <EM>libbuilddir</EM> must be contained under
<EM>gccsrcdir</EM> and <EM>gccbuilddir</EM>, respectively. <EM>gccsrcdir</EM> and <EM>gccbuilddir</EM>, respectively.
...@@ -147,21 +142,19 @@ ...@@ -147,21 +142,19 @@
<P>Since the release of libstdc++-2.90.8, configuration patches have gone <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 into CVS gcc that make the management of the various libstdc++ source
trees a bit easier. Because of this, both libstdc++-v2 and trees a bit easier. Because of this, both libstdc++-v2 and
libstdc++-v3 and live together more or less in peace, without the need libstdc++-v3 and live together in peace, without the need
for soft linking. If a CVS gcc source directory after April 5, 2000 is for soft linking. The setup instructions are slightly different,
being used, then the directions are slightly different: please pick depending on whether you want to use CVS gcc or a snapshot. Please
which of the following two scenarios best represents your particular choose the appropriate scenario:
situation.
</P> </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 <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>. 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 directories Once in <EM>gccsrcdir</EM>, you'll need to rename the libstdc++-v3
called <TT> libstdc++ </TT> and <TT> libio </TT> like so: directory which comes with that snapshot:
<PRE> <PRE>
mv libstdc++ libstdc++-v2 mv libstdc++-v3 libstdc++-v3-previous</PRE>
mv libio libio-v2</PRE>
</P> </P>
<P>Next, unpack the libstdc++-v3 library tarball into the <P>Next, unpack the libstdc++-v3 library tarball into the
<EM>gccsrcdir</EM> directory; it will create a <EM>gccsrcdir</EM> directory; it will create a
...@@ -170,21 +163,19 @@ ...@@ -170,21 +163,19 @@
gzip -dc libstdc++-version.tar.gz | tar xf -</PRE> gzip -dc libstdc++-version.tar.gz | tar xf -</PRE>
</P> </P>
<P>Finally, make a soft link between <EM>libsrcdir</EM> and <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. library used.
<PRE> <PRE>
ln -s <EM>libsrcdir</EM> libstdc++</PRE> ln -s <EM>libsrcdir</EM> libstdc++-v3</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.
</P> </P>
</P> </P>
<P><B>...with CVS gcc</B> <P><B>...with CVS gcc</B>
<P>Check out or download the gcc sources: the resulting source <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>
<P>Next, unpack the libstdc++-v3 library tarball into this <P>Next, unpack the libstdc++-v3 library tarball into this
<EM>gccsrcdir</EM> directory; it will create a <EM>gccsrcdir</EM> directory; it will create a
...@@ -192,11 +183,6 @@ ...@@ -192,11 +183,6 @@
<PRE> <PRE>
gzip -dc libstdc++-version.tar.gz | tar xf -</PRE> gzip -dc libstdc++-version.tar.gz | tar xf -</PRE>
</P> </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 <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. gcc's configure flags will be able to deal with the new library.
<PRE> <PRE>
...@@ -207,6 +193,10 @@ ...@@ -207,6 +193,10 @@
<HR> <HR>
<H2><A NAME="config">Configuring</A></H2> <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 <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 the entire <EM>gccsrcdir</EM> directory. The full list of libstdc++-v3
specific configuration options, not dependent on the specific compiler specific configuration options, not dependent on the specific compiler
...@@ -216,13 +206,8 @@ ...@@ -216,13 +206,8 @@
building the C++ language parts. building the C++ language parts.
</P> </P>
<P><B>...with gcc-2.95.2</B> <P><PRE>
<PRE> cd <EM>gccbuilddir</EM>
<EM>gccsrcdir</EM>/configure --prefix=<EM>destdir</EM></PRE>
</P>
<P><B>...with CVS gcc</B>
<PRE>
<EM>gccsrcdir</EM>/configure --prefix=<EM>destdir</EM> --enable-libstdcxx-v3</PRE> <EM>gccsrcdir</EM>/configure --prefix=<EM>destdir</EM> --enable-libstdcxx-v3</PRE>
</P> </P>
...@@ -242,37 +227,17 @@ ...@@ -242,37 +227,17 @@
as its default C++ library. The generated g++ will magically as its default C++ library. The generated g++ will magically
use the correct headers, link against the correct library use the correct headers, link against the correct library
binary, and in general using libstdc++-v3 will be a piece of binary, and in general using libstdc++-v3 will be a piece of
cake. You're done; run <TT>'make install'</TT> (the GCC cake. You're done; run <TT>'make install'</TT> (see the GCC
Installation instructions) to put the new compiler and libraries installation instructions) to put the new compiler and libraries
into place. into place.
</P> </P>
<H3>[re]building only libstdc++</H3> <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: <P>To rebuild just libstdc++, use:
<PRE> <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 This will configure and build the C++ library in the
<EM>gccbuilddir/cpu-vendor-OS/</EM>libstdc++ directory. <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>
<P>If the build fails with a &quot;warning: can't inline call&quot; <P>If the build fails with a &quot;warning: can't inline call&quot;
message when compiling stringMAIN.cc, see <A HREF="#Werror">the message when compiling stringMAIN.cc, see <A HREF="#Werror">the
...@@ -305,7 +270,9 @@ ...@@ -305,7 +270,9 @@
lib/ lib/
include/g++-v3/ include/g++-v3/
bits/ bits/
backward/ ext/
cpu-vendor-OS/include/g++-v3/
bits/
ext/</PRE> ext/</PRE>
</P> </P>
<P>You can check the status of the build without installing it using <P>You can check the status of the build without installing it using
...@@ -313,7 +280,8 @@ ...@@ -313,7 +280,8 @@
make check</PRE> make check</PRE>
or you can check the status of the installed library using or you can check the status of the installed library using
<PRE> <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 These commands will create a 'testsuite' directory underneath
<EM>libbuilddir</EM> containing the results of the tests. We are <EM>libbuilddir</EM> containing the results of the tests. We are
interested in any strange failures of the testsuite; please see interested in any strange failures of the testsuite; please see
...@@ -344,8 +312,8 @@ ...@@ -344,8 +312,8 @@
which will in turn pass them on to the linker. The exact which will in turn pass them on to the linker. The exact
format of the options is dependent on which linker you use: format of the options is dependent on which linker you use:
<UL> <UL>
<LI>GNU ld (default on Linux):<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 -Wl,<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>Solaris ld:<TT> -Wl,-R<EM>destdir</EM>/lib</TT>
<LI>More...? <LI>More...?
</UL> </UL>
...@@ -402,7 +370,7 @@ ...@@ -402,7 +370,7 @@
Comments and suggestions are welcome, and may be sent to Comments and suggestions are welcome, and may be sent to
<A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or <A HREF="mailto:pme@sources.redhat.com">Phil Edwards</A> or
<A HREF="mailto:gdr@gcc.gnu.org">Gabriel Dos Reis</A>. <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> </EM></P>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment