*: Move header files up a level.
2002-06-24 Phil Edwards <pme@gcc.gnu.org> * config/cpu/*/bits/*: Move header files up a level. Remove bits. * config/os/*/bits/*: Likewise. * configure.in: Update. * configure: Regenerate. * configure.target: Update. * docs/html/17_intro/porting.texi: Update. From-SVN: r54943
This commit is contained in:
parent
2c088b53f9
commit
d32e25dffa
@ -1,3 +1,12 @@
|
||||
2002-06-24 Phil Edwards <pme@gcc.gnu.org>
|
||||
|
||||
* config/cpu/*/bits/*: Move header files up a level. Remove bits.
|
||||
* config/os/*/bits/*: Likewise.
|
||||
* configure.in: Update.
|
||||
* configure: Regenerate.
|
||||
* configure.target: Update.
|
||||
* docs/html/17_intro/porting.texi: Update.
|
||||
|
||||
2002-06-21 Phil Edwards <pme@gcc.gnu.org>
|
||||
|
||||
* include/bits/stl_map.h, include/bits/stl_multimap.h,
|
||||
|
2424
libstdc++-v3/configure
vendored
2424
libstdc++-v3/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -357,9 +357,9 @@ GLIBCPP_ENABLE_SYMVERS([yes])
|
||||
# Propagate the target-specific source directories through the build chain.
|
||||
# (Nothing currently uses cpu_include_dir directly; only ATOMICITYH and
|
||||
# CPULIMITSH [might] use it, and they only get used here.)
|
||||
OS_INC_SRCDIR=config/${os_include_dir}/bits
|
||||
ATOMICITY_INC_SRCDIR=config/${ATOMICITYH}/bits
|
||||
CPU_LIMITS_INC_SRCDIR=config/${CPULIMITSH}/bits
|
||||
OS_INC_SRCDIR=config/${os_include_dir}
|
||||
ATOMICITY_INC_SRCDIR=config/${ATOMICITYH}
|
||||
CPU_LIMITS_INC_SRCDIR=config/${CPULIMITSH}
|
||||
AC_SUBST(OS_INC_SRCDIR)
|
||||
AC_SUBST(ATOMICITY_INC_SRCDIR)
|
||||
AC_SUBST(CPU_LIMITS_INC_SRCDIR)
|
||||
|
@ -19,9 +19,9 @@
|
||||
# cpu_include_dir CPU-specific directory, defaults to cpu/generic
|
||||
# if cpu/target_cpu doesn't exist. This is
|
||||
# used to set the next two:
|
||||
# ATOMICITYH location of bits/atomicity.h,
|
||||
# ATOMICITYH location of atomicity.h,
|
||||
# defaults to cpu_include_dir
|
||||
# CPULIMITSH location of bits/cpu_limits.h,
|
||||
# CPULIMITSH location of cpu_limits.h,
|
||||
# defaults to cpu_include_dir
|
||||
#
|
||||
# os_include_dir OS-specific directory, defaults to os/generic.
|
||||
@ -106,14 +106,14 @@ esac
|
||||
# choices for those if they haven't been explicitly set already.
|
||||
_cpu_incdir_fullpath=${glibcpp_srcdir}/config/${cpu_include_dir}
|
||||
if test x${ATOMICITYH+set} != xset; then
|
||||
if test -f ${_cpu_incdir_fullpath}/bits/atomicity.h; then
|
||||
if test -f ${_cpu_incdir_fullpath}/atomicity.h; then
|
||||
ATOMICITYH=$cpu_include_dir
|
||||
else
|
||||
ATOMICITYH="cpu/generic"
|
||||
fi
|
||||
fi
|
||||
if test x${CPULIMITSH+set} != xset; then
|
||||
if test -f ${_cpu_incdir_fullpath}/bits/cpu_limits.h; then
|
||||
if test -f ${_cpu_incdir_fullpath}/cpu_limits.h; then
|
||||
CPULIMITSH=$cpu_include_dir
|
||||
else
|
||||
CPULIMITSH="cpu/generic"
|
||||
@ -131,7 +131,7 @@ unset _cpu_incdir_fullpath
|
||||
case "${target_os}" in
|
||||
aix4.[3456789]* | aix[56789]*)
|
||||
# We set os_include_dir to os/aix only on AIX 4.3 and newer, but
|
||||
# os/aix/bits/atomicity.h works on earlier versions of AIX 4.*, so we
|
||||
# os/aix/atomicity.h works on earlier versions of AIX 4.*, so we
|
||||
# explicitly duplicate the directory for 4.[<3].
|
||||
os_include_dir="os/aix"
|
||||
ATOMICITYH="os/aix"
|
||||
|
@ -110,7 +110,7 @@ standard target triplet; e.g., the @code{solaris2.8} in
|
||||
@code{sparc-sun-solaris2.8}.
|
||||
|
||||
The first file to create in this directory, should be called
|
||||
@file{bits/os_defines.h}. This file contains basic macro definitions
|
||||
@file{os_defines.h}. This file contains basic macro definitions
|
||||
that are required to allow the C++ library to work with your C library.
|
||||
This file should provide macro definitions for @code{__off_t},
|
||||
@code{__off64_t}, and @code{__ssize_t}. Typically, this just looks
|
||||
@ -161,7 +161,7 @@ this:
|
||||
#endif
|
||||
@end example
|
||||
|
||||
We recommend copying an existing @file{bits/os_defines.h} to use as a
|
||||
We recommend copying an existing @file{os_defines.h} to use as a
|
||||
starting point.
|
||||
|
||||
@c ---------------------------------------------------------------------
|
||||
@ -204,20 +204,20 @@ appropriate for your chip.
|
||||
The library requires that you provide three header files to implement
|
||||
character classification, analogous to that provided by the C libraries
|
||||
@file{<ctype.h>} header. You can model these on the files provided in
|
||||
@file{config/os/generic/bits}. However, these files will almost
|
||||
@file{config/os/generic}. However, these files will almost
|
||||
certainly need some modification.
|
||||
|
||||
The first file to write is @file{bits/ctype_base.h}. This file provides
|
||||
The first file to write is @file{ctype_base.h}. This file provides
|
||||
some very basic information about character classification. The libstdc++-v3
|
||||
library assumes that your C library implements @file{<ctype.h>} by using
|
||||
a table (indexed by character code) containing integers, where each of
|
||||
these integers is a bit-mask indicating whether the character is
|
||||
upper-case, lower-case, alphabetic, etc. The @file{bits/ctype_base.h}
|
||||
upper-case, lower-case, alphabetic, etc. The @file{ctype_base.h}
|
||||
file gives the type of the integer, and the values of the various bit
|
||||
masks. You will have to peer at your own @file{<ctype.h>} to figure out
|
||||
how to define the values required by this file.
|
||||
|
||||
The @file{bits/ctype_base.h} header file does not need include guards.
|
||||
The @file{ctype_base.h} header file does not need include guards.
|
||||
It should contain a single @code{struct} definition called
|
||||
@code{ctype_base}. This @code{struct} should contain two type
|
||||
declarations, and one enumeration declaration, like this example, taken
|
||||
@ -259,9 +259,9 @@ The enumeration should give definitions for all the values in the above
|
||||
example, using the values from your native @file{<ctype.h>}. They can
|
||||
be given symbolically (as above), or numerically, if you prefer. You do
|
||||
not have to include @file{<ctype.h>} in this header; it will always be
|
||||
included before @file{bits/ctype_base.h} is included.
|
||||
included before @file{ctype_base.h} is included.
|
||||
|
||||
The next file to write is @file{bits/ctype_noninline.h}, which also does
|
||||
The next file to write is @file{ctype_noninline.h}, which also does
|
||||
not require include guards. This file defines a few member functions
|
||||
that will be included in @file{include/bits/locale_facets.h}. The first
|
||||
function that must be written is the @code{ctype<char>::ctype}
|
||||
@ -337,7 +337,7 @@ ctype<char>::do_tolower(char* __low, const char* __high) const
|
||||
@}
|
||||
@end example
|
||||
|
||||
You must also provide the @file{bits/ctype_inline.h} file, which
|
||||
You must also provide the @file{ctype_inline.h} file, which
|
||||
contains a few more functions. On most systems, you can just copy
|
||||
@file{config/os/generic/ctype_inline.h} and use it on your system.
|
||||
|
||||
@ -416,11 +416,11 @@ If you want to provide custom, safe, versions of these functions, there
|
||||
are two distinct approaches. One is to provide a version for your CPU,
|
||||
using assembly language constructs. The other is to use the
|
||||
thread-safety primitives in your operating system. In either case, you
|
||||
make a file called @file{bits/atomicity.h}, and the variable
|
||||
make a file called @file{atomicity.h}, and the variable
|
||||
@code{ATOMICITYH} must point to this file.
|
||||
|
||||
If you are using the assembly-language approach, put this code in
|
||||
@file{config/cpu/<chip>/bits/atomicity.h}, where chip is the name of
|
||||
@file{config/cpu/<chip>/atomicity.h}, where chip is the name of
|
||||
your processor (@pxref{CPU}). No additional changes are necessary to
|
||||
locate the file in this case; @code{ATOMICITYH} will be set by default.
|
||||
|
||||
@ -438,7 +438,7 @@ the appropriate @code{os_include_dir}. For examples of this approach,
|
||||
see the @file{atomicity.h} file for AIX.
|
||||
|
||||
With those bits out of the way, you have to actually write
|
||||
@file{bits/atomicity.h} itself. This file should be wrapped in an
|
||||
@file{atomicity.h} itself. This file should be wrapped in an
|
||||
include guard named @code{_BITS_ATOMICITY_H}. It should define one
|
||||
type, and two functions.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user