From 0505b0467fcabcc8f0cca07596ffd43662b5fbd0 Mon Sep 17 00:00:00 2001
From: Phil Edwards
This is an abbreviated form of '--enable-cstdio=stdio' (described next).
@@ -65,7 +65,8 @@ options snapshot 2.91, the choices are 'libio' to specify the GNU I/O package (from glibc, the - GNU C library), or 'stdio' to use a generic "C" abstraction. + GNU C library), or 'stdio' to use a generic "C" + abstraction. The default is 'stdio'.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.
-$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 $
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 @@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. -
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:
-...with gcc-2.95.2 +
...with a gcc-2.9[67] snapshot
Unpack the gccsrcdir and go into that directory. For - instance, gcc-2.95.2 is a valid gccsrcdir. - Once in gccsrcdir, you'll need to rename the directories - called libstdc++ and libio like so: +X instance, gcc-2.95.2 is a valid gccsrcdir. + Once in gccsrcdir, you'll need to rename the libstdc++-v3 + directory which comes with that snapshot:
- mv libstdc++ libstdc++-v2 - mv libio libio-v2+ mv libstdc++-v3 libstdc++-v3-previous
Next, unpack the libstdc++-v3 library tarball into the gccsrcdir directory; it will create a @@ -170,21 +163,19 @@ gzip -dc libstdc++-version.tar.gz | tar xf -
Finally, make a soft link between libsrcdir and - libstdc++ so that libstdc++-v3 will be the default C++ + libstdc++-v3 so that libstdc++-v3 will be the default C++ library used.
- ln -s libsrcdir libstdc++- This complexity of having two completely separate libstdc++ - libraries is necessary so that you can unlink libsrcdir - 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 libsrcdir libstdc++-v3
...with CVS gcc
Check out or download the gcc sources: the resulting source - directory is gccsrcdir. + directory is gccsrcdir. Once in gccsrcdir, + you'll need to rename the libstdc++-v3 directory which comes + with that snapshot: + mv libstdc++-v3 libstdc++-v3-previous
Next, unpack the libstdc++-v3 library tarball into this gccsrcdir directory; it will create a @@ -192,11 +183,6 @@
gzip -dc libstdc++-version.tar.gz | tar xf -- -
If CVS libstdc++-v3 is being used instead of a snapshot's tarball, - then move the source directory from the CVS checkout into the - gccsrcdir directory. -
Finally, rename libsrcdir to libstdc++-v3 so that gcc's configure flags will be able to deal with the new library.
@@ -207,6 +193,10 @@
Configuring
+If you have never done this before, you should read the basic + GCC Installation + Instructions first. +
Due to namespaces, when building libstdc++-v3 you'll have to configure the entire gccsrcdir 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.
-...with gcc-2.95.2 -
- gccsrcdir/configure --prefix=destdir- - -...with CVS gcc -
+This will configure and build the C++ library in the gccbuilddir/cpu-vendor-OS/libstdc++ directory. - As en example, for CVS gcc this would be - make all-target-libstdc++-v3, and for gcc-2.95.2 it would be - make all-target-libstdc+++ cd gccbuilddir gccsrcdir/configure --prefix=destdir --enable-libstdcxx-v3@@ -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 'make install' (the GCC - Installation instructions) to put the new compiler and libraries + cake. You're done; run 'make install' (see the GCC + installation instructions) to put the new compiler and libraries into place.[re]building only libstdc++
-Due to differences in the configure process, the resulting Makefiles - in thegccbuilddir will have different rules depending on - the source base being used. -
- -...with gcc-2.95.2 -
- libstdc++-rule is libstdc++ -- - -...with CVS gcc -
- libstdc++-rule is libstdc++-v3 -- -To rebuild just libstdc++, use:
- make all-target-libstdc++-rule+ make all-target-libstdc++-v3If the build fails with a "warning: can't inline call" message when compiling stringMAIN.cc, see the @@ -305,7 +270,9 @@ lib/ include/g++-v3/ bits/ - backward/ + ext/ + cpu-vendor-OS/include/g++-v3/ + bits/ ext/
You can check the status of the build without installing it using @@ -313,7 +280,8 @@ make check or you can check the status of the installed library using
- make check-target-libstdc++-rule+ make check-install + in the libbuilddir directory. These commands will create a 'testsuite' directory underneath libbuilddir 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: