资源说明:Mirror of Apache C++ Standard Library
$Id$
Apache C++ Standard Library (STDCXX) 5.0.0
------------------------------------------
0 Index
--------
Index ............................................................ 0
Contents ......................................................... 1
Compatibility ................................................ 1.1
Requirements ..................................................... 2
Unpacking Instructions ........................................... 3
Source Directory Structure ....................................... 4
Library Files ................................................ 4.1
Library Utilities ............................................ 4.2
Locales ...................................................... 4.3
Test Suite Files ............................................. 4.4
Examples and Tutorials ....................................... 4.5
Build Directory Structure .................................... 4.6
VisualStudio Build Directory Structure ................... 4.6.1
Library Build Instructions ....................................... 5
VisualStudio Setup Instructions .............................. 5.1
Library Installation ............................................. 6
Library Installation on UNIX Systems ......................... 6.1
Library Installation on Microsoft Windows .................... 6.2
Test Suite Build Instructions .................................... 7
VisualStudio Test Suite Build Instructions ................... 7.1
Library Configuration ............................................ 8
Header config.h (and config.log) ............................. 8.1
Headers rw/_config.h and rw/_defs.h .......................... 8.2
Configuration Macros ......................................... 8.3
Platform Identification Macros ........................... 8.3.1
Compiler Configuration Macros ............................ 8.3.2
Runtime Library Configuration Macros ..................... 8.3.3
C Library Configuration Macros ........................... 8.3.4
Macros Controlling Strings ............................... 8.3.5
Macros Controlling Iostreams ............................. 8.3.6
Macros Controlling Locale ................................ 8.3.7
Macros Controlling Implementation Properties ............. 8.3.8
Other Configuration Macros ............................... 8.3.9
Macros Controlling Extensions ........................... 8.3.10
Library Organization ............................................. 9
Organization of Headers ...................................... 9.1
Organization of Sources ...................................... 9.2
Platform Notes .................................................. 10
Apogee C++ .................................................. 10.1
Borland C++ ................................................. 10.2
Comeau C++ .................................................. 10.3
Compaq/HP C++ ............................................... 10.4
EDG eccp .................................................... 10.5
GNU gcc ..................................................... 10.6
HP aCC ...................................................... 10.7
IBM VisualAge C++ ........................................... 10.8
Intel C++ ................................................... 10.9
KAI C++ .................................................... 10.10
Metrowerks CodeWarrior ..................................... 10.11
Microsoft Visual Studio .................................... 10.12
SGI MIPSpro ................................................ 10.13
Siemens CDS++ .............................................. 10.14
Sun C++ .................................................... 10.15
1 Contents
-----------
This file is part of version 5.0.0 of the Apache C++ Standard
Library (STDCXX), an Open Source implementation of the C++ Standard
Library conforming to INCITS/ISO/IEC 14882-2003 Programming
Languages -- C++.
The distribution consists of this file and a compressed (gzipped)
tar file containing the header and source files comprising the
Apache implementation of the C++ Standard Library, the configuration
infrastructure required to characterize the platform on which the
library is to be built, and a set of scripts and makefiles to build
the library. In addition, a license (LICENSE.txt) and a notice
(NOTICE.txt) files are provided. Read LICENSE.txt to understand the
licensing requirements of the Apache C++ Standard Library. The
NOTICE.txt file contains a list of copyrights that apply to the
same.
In addition, the distribution also contains the Apache C++ Standard
Library test suite, a set of example programs demonstrating the use
of the library, plus scripts and makefiles to build and run the test
suite and the examples and report their results.
The primary audience targeted by this document is library
maintainers, developers, and those porting the library to new
platforms. The purpose of the document is to describe in detail the
process of unpacking, configuring, building, and testing the
library.
1.1 Compatibility
------------------
[TO DO: Explain the compatibility of this version with prior ones.]
2 Requirements
---------------
The following utilities are required in addition to the standard set
of POSIX utilities in order to unpack and build the library, test
suite (*), and examples (*) on a UNIX system.
* Where available.
o GNU gunzip
o GNU make, version 3.70 or later (referred to as gmake here)
o C++ compiler and linker
3 Unpacking Instructions
-------------------------
The distribution consists entirely of a single file named either
stdcxx-X.Y.Z.tar.gz for a final release, or
stdcxx-X.Y.Z-YYYYMMDD.tar.gz for snapshots.
To unpack the tarball, execute the following command:
$ gunzip -c stdcxx-X.Y.Z.tar.gz | tar -xf -
Above, X, Y, and Z are the major, minor, and micro version number of
the library, respectively, and the optional -YYYYMMDD part is the
date of the snapshot. The date part of the file name will be missing
if the tarball is a final release rather than a snapshot.
The script above will expand the tarball and create a single
directory named stdcxx-X.Y.Z (or stdcxx-X.Y.Z-YYYYMMDD/ for a
snapshot). This directory is referred to a ${TOPDIR} throughout the
rest of this document.
4 Source Directory Structure
-----------------------------
The infrastructure described in this document expects that source
files and any support scripts are organized in a directory tree
described below. If the files are arranged otherwise you will need
to move them to the expected directories in order to accommodate
this requirement and use the infrastructure.
${TOPDIR}/bin/ executable scripts
| doc/index.html documentation index
| generate.bat (obsolete)
| configure.bat Windows configuration script
| ChangeLog log of changes
| GNUmakefile master makefile
| LICENSE.txt license file
| NOTICE.txt copyright notices
| README this file
|
+- etc/
| +- config/GNUmakefile.* makefiles
| | | /*.config compiler config files
| | | /makefile.* common definitions and rules
| | | /runall.sh testsuite run script
| | +- src/ configuration sources and
| | | scripts
| | +- windows/generate.wsf solution generation script
| | /configure.wsf configuration script
| | /build.wsf solution build script
| | /makelog.wsf log creation script
| | /runall.wsf testsuite run script
| | /*.js utility scripts
| | /*.config compiler config files
| +- nls/ locale definitions and
| | charmaps
| +- charmaps/ character set description files
| +- src/ locale definition files
+- examples/ set of examples and tutorials
| +- include/*.h common example headers
| +- manual/*.cpp example sources
| +- tutorial/*.cpp tutorial sources
+- include/* public library headers
| +- ansi/* C++ C library headers
| +- loc/_*.{h,c,cc} private locale headers
| +- rw/_*.{h,c,cc} other private library headers
+- src/*.cpp library sources
+- util/*.{h,c,cc,cpp} utility headers and sources
+- tests/ test suite files
| +- include/*.h common test headers
| +- */*.cpp test suite sources
+- ../rwtest test suite infrastructure
+- rw/
| +- rwtest/*.h test suite infrastructure
| headers
+- src/*.cpp test suite infrastructure
sources
4.1 Library Files
------------------
The public interface to the library consists of the following header
files specified by the C++ International Standard:
+------------+------------+------------+------------+------------+
| | | | | |
+------------+------------+------------+------------+------------+
| | | | | |
+------------+------------+------------+------------+------------+
| | |