diff options
Diffstat (limited to 'libstdc++-v3/docs/html/install.html')
-rw-r--r-- | libstdc++-v3/docs/html/install.html | 102 |
1 files changed, 35 insertions, 67 deletions
diff --git a/libstdc++-v3/docs/html/install.html b/libstdc++-v3/docs/html/install.html index 1a6b8114d27..d1a399d5b07 100644 --- a/libstdc++-v3/docs/html/install.html +++ b/libstdc++-v3/docs/html/install.html @@ -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 - "pkginfo SUNWxcu4". </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 "warning: can't inline call" 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> |