mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-04 14:50:19 +08:00
configopts.html, [...]: Conform to HTML 4.01 standard.
2002-08-19 Jonathan Wakely <jw@kayari.org> * docs/html/configopts.html, docs/html/documentation.html, docs/html/install.html, docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html, docs/html/22_locale/locale.html, docs/html/22_locale/messages.html: Conform to HTML 4.01 standard. From-SVN: r56449
This commit is contained in:
parent
3fcd079e3b
commit
1860e6ab05
@ -1,3 +1,11 @@
|
||||
2002-08-19 Jonathan Wakely <jw@kayari.org>
|
||||
|
||||
* docs/html/configopts.html, docs/html/documentation.html,
|
||||
docs/html/install.html, docs/html/22_locale/codecvt.html,
|
||||
docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
|
||||
docs/html/22_locale/locale.html,
|
||||
docs/html/22_locale/messages.html: Conform to HTML 4.01 standard.
|
||||
|
||||
2002-08-15 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set
|
||||
|
@ -1,14 +1,19 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
Notes on the codecvt implementation.
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
Notes on the codecvt implementation.
|
||||
</h1>
|
||||
</head>
|
||||
<p>
|
||||
<I>
|
||||
prepared by Benjamin Kosnik (bkoz@redhat.com) on August 28, 2000
|
||||
</I>
|
||||
|
||||
<p>
|
||||
<h2>
|
||||
1. Abstract
|
||||
</h2>
|
||||
@ -142,14 +147,14 @@ includes:
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
</p>
|
||||
<p>
|
||||
Identifiers for each of the codesets involved in the conversion. For
|
||||
example, using the iconv family of functions from the Single Unix
|
||||
Specification (what used to be called X/Open) hosted on the GNU/Linux
|
||||
operating system allows bi-directional mapping between far more than
|
||||
the following tantalizing possibilities:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
(An edited list taken from <code>`iconv --list`</code> on a Red Hat 6.2/Intel system:
|
||||
|
||||
<BLOCKQUOTE>
|
||||
@ -519,4 +524,5 @@ System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x)
|
||||
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.
|
||||
http://www.opennc.org/austin/docreg.html
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,9 +1,14 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
Notes on the ctype implementation.
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
Notes on the ctype implementation.
|
||||
</h1>
|
||||
</head>
|
||||
<I>
|
||||
prepared by Benjamin Kosnik (bkoz@redhat.com) on August 30, 2000
|
||||
</I>
|
||||
@ -60,15 +65,13 @@ to wchar_t and wcsrtombs for conversions between wchar_t and char.
|
||||
Neither of these two required specializations deals with Unicode
|
||||
characters. As such, libstdc++-v3 implements
|
||||
|
||||
|
||||
|
||||
<p>
|
||||
<h2>
|
||||
5. Examples
|
||||
</h2>
|
||||
|
||||
<pre>
|
||||
typedef ctype<char> cctype;
|
||||
typedef ctype<char> cctype;
|
||||
</pre>
|
||||
|
||||
More information can be found in the following testcases:
|
||||
@ -98,10 +101,10 @@ More information can be found in the following testcases:
|
||||
straighten out the configure-time mess that is a by-product of
|
||||
this class?
|
||||
|
||||
<li> get the ctype<wchar_t>::mask stuff under control. Need to
|
||||
<li> get the ctype<wchar_t>::mask stuff under control. Need to
|
||||
make some kind of static table, and not do lookup evertime
|
||||
somebody hits the do_is... functions. Too bad we can't just
|
||||
redefine mask for ctype<wchar_t>
|
||||
redefine mask for ctype<wchar_t>
|
||||
|
||||
<li> rename abstract base class. See if just smash-overriding
|
||||
is a better approach. Clarify, add sanity to naming.
|
||||
@ -143,4 +146,5 @@ System Interface Definitions, Issue 6 (IEEE Std. 1003.1-200x)
|
||||
The Open Group/The Institute of Electrical and Electronics Engineers, Inc.
|
||||
http://www.opennc.org/austin/docreg.html
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
@ -49,6 +49,7 @@
|
||||
</p>
|
||||
|
||||
<p>The following is the abstract from the implementation notes:
|
||||
</p>
|
||||
<blockquote>
|
||||
The standard class codecvt attempts to address conversions between
|
||||
different character encoding schemes. In particular, the standard
|
||||
@ -64,7 +65,6 @@
|
||||
the required specializations for wide and narrow characters and the
|
||||
implementation-provided extended functionality are given.
|
||||
</blockquote>
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
<h2><a name="3">class ctype</a></h2>
|
||||
@ -88,13 +88,13 @@
|
||||
description of locales and how to use them.
|
||||
</p>
|
||||
<p>He also writes:
|
||||
</p>
|
||||
<blockquote><em>
|
||||
Please note that I still consider this detailed description of
|
||||
locales beyond the needs of most C++ programmers. It is written
|
||||
with experienced programmers in mind and novices will do best to
|
||||
avoid it.
|
||||
</em></blockquote>
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
<h2><a name="6">Nathan Myers on Locales</a></h2>
|
||||
@ -131,6 +131,7 @@
|
||||
is created. Then member functions of that locale are called to
|
||||
perform minor tasks. Continuing the example from Chapter 21, we wish
|
||||
to use the following convenience functions:
|
||||
</p>
|
||||
<pre>
|
||||
namespace std {
|
||||
template <class charT>
|
||||
@ -140,6 +141,7 @@
|
||||
charT
|
||||
tolower (charT c, const locale& loc) const;
|
||||
}</pre>
|
||||
<p>
|
||||
This function extracts the appropriate "facet" from the
|
||||
locale <em>loc</em> and calls the appropriate member function of that
|
||||
facet, passing <em>c</em> as its argument. The resulting character
|
||||
@ -154,6 +156,7 @@
|
||||
parameter. So we write simple wrapper structs to handle that.
|
||||
</p>
|
||||
<p>The next-to-final version of the code started in Chapter 21 looks like:
|
||||
</p>
|
||||
<pre>
|
||||
#include <iterator> // for back_inserter
|
||||
#include <locale>
|
||||
@ -195,7 +198,6 @@
|
||||
std::string capital_s;
|
||||
std::transform(s.begin(), s.end(), std::back_inserter(capital_s), up);
|
||||
}</pre>
|
||||
</p>
|
||||
<p>The final version of the code uses <code>bind2nd</code> to eliminate
|
||||
the wrapper structs, but the resulting code is tricky. I have not
|
||||
shown it here because no compilers currently available to me will
|
||||
|
@ -1,9 +1,14 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
Notes on the locale implementation.
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
Notes on the locale implementation.
|
||||
</h1>
|
||||
</head>
|
||||
<I>
|
||||
prepared by Benjamin Kosnik (bkoz@redhat.com) on August 8, 2001
|
||||
</I>
|
||||
|
@ -1,9 +1,14 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<h1>
|
||||
<title>
|
||||
Notes on the messages implementation.
|
||||
</h1>
|
||||
</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
Notes on the messages implementation.
|
||||
</h1>
|
||||
<I>
|
||||
prepared by Benjamin Kosnik (bkoz@redhat.com) on August 8, 2001
|
||||
</I>
|
||||
|
@ -34,6 +34,7 @@ options</a></h1>
|
||||
<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:<code> ./configure --help</code>
|
||||
</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>--enable-multilib </code>[default]
|
||||
@ -156,16 +157,18 @@ options</a></h1>
|
||||
the following puts all the libstdc++ headers into a directory
|
||||
called "2.97-20001008" instead of the usual
|
||||
"g++-v3".
|
||||
</p>
|
||||
<pre>
|
||||
--with-gxx-include-dir=/foo/H-x86-gcc-3-c-gxx-inc/include/2.97-20001008</pre>
|
||||
</p>
|
||||
|
||||
<dt><code>--enable-cxx-flags=FLAGS</code>
|
||||
<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
|
||||
</p>
|
||||
<pre>
|
||||
--enable-cxx-flags='-fvtable-gc -fomit-frame-pointer -ansi'</pre>
|
||||
<p>
|
||||
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.
|
||||
@ -176,12 +179,13 @@ options</a></h1>
|
||||
as well, so that everything matches.
|
||||
</p>
|
||||
<p>Fun flags to try might include combinations of
|
||||
</p>
|
||||
<pre>
|
||||
-fstrict-aliasing
|
||||
-fno-exceptions
|
||||
-ffunction-sections
|
||||
-fvtable-gc</pre>
|
||||
and opposite forms (-fno-) of the same. Tell us (the libstdc++
|
||||
<p>and opposite forms (-fno-) of the same. Tell us (the libstdc++
|
||||
mailing list) if you discover more!
|
||||
</p>
|
||||
|
||||
@ -211,7 +215,6 @@ options</a></h1>
|
||||
on. Hopefully people will volunteer to do other 'style' options.
|
||||
</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 libstdc++ homepage</a>.
|
||||
</p>
|
||||
|
@ -1,3 +1,4 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta name="KEYWORDS"
|
||||
@ -35,7 +36,6 @@
|
||||
<li><a href="17_intro/TODO">TODO</a>
|
||||
- tasks yet undone
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
<hr />
|
||||
@ -65,7 +65,6 @@
|
||||
<li><a href="latest-doxygen/index.html">"the latest collection"</a>
|
||||
(for the snapshot or later; see the date on the first page)
|
||||
</ul>
|
||||
</p>
|
||||
<p>This generated HTML collection, as above, is also available for download in
|
||||
the libstdc++ snapshots directory at
|
||||
<code><URL:ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/></code>.
|
||||
|
@ -88,46 +88,45 @@
|
||||
features if the underlying support is present.
|
||||
</p>
|
||||
|
||||
<p>Finally, a few system-specific requirements:
|
||||
<dl>
|
||||
<dt> linux
|
||||
<p>Finally, a few system-specific requirements: </p>
|
||||
<dl>
|
||||
<dt> linux </dt>
|
||||
|
||||
<dd>If you are using gcc 3.1 or later on linux, and are using
|
||||
the gnu locale model (enabled by default for sufficient
|
||||
versions of glibc), the following locales are used and tested
|
||||
in the libstdc++ testsuites: en_HK, en_US, fr_FR, fr_FR@euro,
|
||||
de_DE, de_DE@euro, ja_JP.eucjp, and it_IT. Failure to have the
|
||||
underlying "C" library locale information installed will mean
|
||||
that C++ named locales for the above regions will not work:
|
||||
because of this, the libstdc++ testsuite will not pass the
|
||||
named locale tests. If this isn't an issue, don't worry about
|
||||
it. If named locales are needed, the underlying locale
|
||||
information must be installed. Note that rebuilding libstdc++
|
||||
after locales are installed is not necessary.
|
||||
<dd>If you are using gcc 3.1 or later on linux, and are using
|
||||
the gnu locale model (enabled by default for sufficient
|
||||
versions of glibc), the following locales are used and tested
|
||||
in the libstdc++ testsuites: en_HK, en_US, fr_FR, fr_FR@euro,
|
||||
de_DE, de_DE@euro, ja_JP.eucjp, and it_IT. Failure to have the
|
||||
underlying "C" library locale information installed will mean
|
||||
that C++ named locales for the above regions will not work:
|
||||
because of this, the libstdc++ testsuite will not pass the
|
||||
named locale tests. If this isn't an issue, don't worry about
|
||||
it. If named locales are needed, the underlying locale
|
||||
information must be installed. Note that rebuilding libstdc++
|
||||
after locales are installed is not necessary.
|
||||
|
||||
<p> To install
|
||||
support for locales, do only one of the following: </p>
|
||||
<p>
|
||||
<li> install all locales
|
||||
<p> <code> export LC_ALL=C </code> </p>
|
||||
<p> <code> rpm -e glibc-common --nodeps </code> </p>
|
||||
<p> <code> rpm -i --define "_install_langs all"
|
||||
glibc-common-2.2.5-34.i386.rpm </code> </p>
|
||||
</li>
|
||||
<li> install just the necessary locales
|
||||
<p> <code> localedef -i de_DE -f ISO-8859-1 de_DE </code> </p>
|
||||
</li>
|
||||
</p>
|
||||
</dd>
|
||||
</dt>
|
||||
<p> To install
|
||||
support for locales, do only one of the following: </p>
|
||||
<ul>
|
||||
<li> install all locales
|
||||
<p> <code> export LC_ALL=C </code> </p>
|
||||
<p> <code> rpm -e glibc-common --nodeps </code> </p>
|
||||
<p> <code> rpm -i --define "_install_langs all"
|
||||
glibc-common-2.2.5-34.i386.rpm </code> </p>
|
||||
</li>
|
||||
<li> install just the necessary locales
|
||||
<p> <code> localedef -i de_DE -f ISO-8859-1 de_DE </code> </p>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2><a name="srcsetup">Setting up the source directories</a></h2>
|
||||
<p>The following definitions will be used throughout the rest of this
|
||||
document:
|
||||
</p>
|
||||
<ul>
|
||||
<li><em>gccsrcdir</em>: The directory holding the source of the
|
||||
compiler. It should have several subdirectories like
|
||||
@ -142,7 +141,7 @@
|
||||
the compiler/libraries, set with the --prefix option to
|
||||
the configure script.
|
||||
</ul>
|
||||
Note:
|
||||
<p> Note: </p>
|
||||
<ol>
|
||||
<li>The 3.0 version and following are intended to replace the
|
||||
library that comes with the compiler, so <em>libsrcdir</em>
|
||||
@ -153,28 +152,27 @@
|
||||
separate directories. Please don't build out of the
|
||||
source directory.
|
||||
</ol>
|
||||
</p>
|
||||
|
||||
<p>Check out or download the GCC sources: the resulting source directory
|
||||
(<code>gcc</code> or <code>gcc-3.0.3</code>, for example) is
|
||||
<em>gccsrcdir</em>.
|
||||
Once in <em>gccsrcdir</em>, you'll need to rename or delete the
|
||||
libstdc++-v3 directory which comes with that snapshot:
|
||||
<pre>
|
||||
</p>
|
||||
<pre>
|
||||
mv libstdc++-v3 libstdc++-v3-previous <strong>[OR]</strong>
|
||||
rm -r libstdc++-v3</pre>
|
||||
</p>
|
||||
<p>Next, unpack the libstdc++-v3 library tarball into this
|
||||
<em>gccsrcdir</em> directory; it will create a
|
||||
<em>libsrcdir</em> called <code>libstdc++-<em>version</em></code>:
|
||||
<pre>
|
||||
gzip -dc libstdc++-version.tar.gz | tar xf -</pre>
|
||||
</p>
|
||||
<pre>
|
||||
gzip -dc libstdc++-version.tar.gz | tar xf -</pre>
|
||||
<p>Finally, rename <em>libsrcdir</em> to <code>libstdc++-v3</code> so that
|
||||
gcc's configure flags will be able to deal with the new library.
|
||||
<pre>
|
||||
mv <em>libsrcdir</em> libstdc++-v3</pre>
|
||||
</p>
|
||||
<pre>
|
||||
mv <em>libsrcdir</em> libstdc++-v3</pre>
|
||||
|
||||
|
||||
<hr>
|
||||
@ -193,10 +191,9 @@
|
||||
building the C++ language parts.
|
||||
</p>
|
||||
|
||||
<p><pre>
|
||||
<pre>
|
||||
cd <em>gccbuilddir</em>
|
||||
<em>gccsrcdir</em>/configure --prefix=<em>destdir</em> --other-opts...</pre>
|
||||
</p>
|
||||
|
||||
|
||||
<hr>
|
||||
@ -214,9 +211,10 @@
|
||||
</p>
|
||||
|
||||
<h3>[re]building only libstdc++</h3>
|
||||
<p>To rebuild just libstdc++, use:
|
||||
<pre>
|
||||
<p>To rebuild just libstdc++, use: </p>
|
||||
<pre>
|
||||
make all-target-libstdc++-v3</pre>
|
||||
<p>
|
||||
This will configure and build the C++ library in the
|
||||
<em>gccbuilddir/cpu-vendor-os/</em>libstdc++ directory.
|
||||
</p>
|
||||
@ -229,39 +227,38 @@
|
||||
information is causing problems, you can delete it entirely, or
|
||||
simply edit it and remove lines.
|
||||
</p>
|
||||
<p>You're done. Now install the rebuilt pieces with
|
||||
<pre>
|
||||
<p>You're done. Now install the rebuilt pieces with</p>
|
||||
<pre>
|
||||
make install</pre>
|
||||
or
|
||||
<pre>
|
||||
<p>or</p>
|
||||
<pre>
|
||||
make install-gcc
|
||||
make install-target-libstdc++-v3</pre>
|
||||
</p>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="postinstall">Post-installation</a></h2>
|
||||
<p>Installation will create the <em>destdir</em> directory and
|
||||
populate it with subdirectories:
|
||||
<pre>
|
||||
</p>
|
||||
<pre>
|
||||
lib/
|
||||
include/g++-v3/
|
||||
backward/
|
||||
bits/
|
||||
<em>cpu-vendor-os</em>/bits/
|
||||
ext/</pre>
|
||||
</p>
|
||||
<p>If you used the version-specific-libs configure option, then most of
|
||||
the headers and library files will be moved under
|
||||
<code>lib/gcc-lib/</code> instead.
|
||||
</p>
|
||||
<p>You can check the status of the build without installing it using
|
||||
<pre>
|
||||
<p>You can check the status of the build without installing it using</p>
|
||||
<pre>
|
||||
make check</pre>
|
||||
or you can check the status of the installed library using
|
||||
<pre>
|
||||
<p>or you can check the status of the installed library using</p>
|
||||
<pre>
|
||||
make check-install</pre>
|
||||
in the <em>libbuilddir</em> directory.
|
||||
<p>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
|
||||
@ -271,7 +268,7 @@
|
||||
|
||||
<hr>
|
||||
<h2><a name="usage">Using the library</a></h2>
|
||||
<li><B>Find the new library at runtime (shared linking only)</B>
|
||||
<h3>Find the new library at runtime (shared linking only)</h3>
|
||||
<p>If you only built a static library (libstdc++.a), or if you
|
||||
specified static linking, you don't have to worry about this.
|
||||
But if you built a shared library (libstdc++.so) and linked
|
||||
@ -281,6 +278,7 @@
|
||||
<p>Methods vary for different platforms and different styles, but
|
||||
the usual ones are printed to the screen during installation.
|
||||
They include:
|
||||
</p>
|
||||
<ul>
|
||||
<li>At runtime set LD_LIBRARY_PATH in your environment correctly,
|
||||
so that the shared library for libstdc++ can be found and
|
||||
@ -298,7 +296,6 @@
|
||||
<li>More...? Let us know!
|
||||
</ul>
|
||||
</ul>
|
||||
</p>
|
||||
<p>Use the <code>ldd(1)</code> utility to show which library the system
|
||||
thinks it will get at runtime.
|
||||
</p>
|
||||
@ -306,8 +303,6 @@
|
||||
you use Libtool to create your executables, these details are
|
||||
taken care of for you.
|
||||
</p>
|
||||
</ol>
|
||||
</p>
|
||||
|
||||
|
||||
<!--
|
||||
|
Loading…
Reference in New Issue
Block a user