OSDN Git Service

2001-05-01 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / porting.texi
index d966578..7d42171 100644 (file)
@@ -1,15 +1,3 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% File:   porting.texi
-% Author: Mark Mitchell
-% Date:   11/21/2000
-%
-% Contents:
-%
-% Copyright (c) 2000 by CodeSourcery, LLC.  All rights reserved. 
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
 \input texinfo
 
 @c ---------------------------------------------------------------------
@@ -24,7 +12,7 @@
 This file explains how to port libstdc++-v3 (the GNU C++ library) to 
 a new target.
 
-Copyright (c) 2000 Free Software Foundation, Inc.
+Copyright (c) 2000, 2001 Free Software Foundation, Inc.
 @end ifinfo
 
 @c ---------------------------------------------------------------------
@@ -36,7 +24,25 @@ Copyright (c) 2000 Free Software Foundation, Inc.
 @author Mark Mitchell
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 2000 Free Software Foundation, Inc.
+Copyright @copyright{} 2000, 2001 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``GNU General Public License'', the Front-Cover
+texts being (a) (see below), and with the Back-Cover Texts being (b)
+(see below).  A copy of the license is included in the section entitled
+``GNU Free Documentation License''.
+
+(a) The FSF's Front-Cover Text is:
+
+     A GNU Manual
+
+(b) The FSF's Back-Cover Text is:
+
+     You have freedom to copy and modify this GNU Manual, like GNU
+     software.  Copies published by the Free Software Foundation raise
+     funds for GNU development.
 @end titlepage
 
 @c ---------------------------------------------------------------------
@@ -69,6 +75,7 @@ Here are the primary steps required to port the library:
 * Character types::     Implementing character classification.
 * Thread safety::       Implementing atomic operations.
 * Libtool::             Using libtool.
+* GNU Free Documentation License:: How you can copy and share this manual.
 @end menu
 
 @c ---------------------------------------------------------------------
@@ -420,13 +427,22 @@ __atomic_add (_Atomic_word* __mem, int __val)
 @node Libtool
 @chapter Libtool
 
-The C++ library is linked with libtool.  Explaining the full workings of
-libtool is beyond the scope of this document, but there is one
-particular bit that should be explained here.  The C++ run-time library
-contains initialization code that needs to be run as the library is
-loaded.  Often, that requires linking in special object files when the
-C++ library is built as a shared library, or taking other
-system-specific actions.
+The C++ library is compiled, archived and linked with libtool.
+Explaining the full workings of libtool is beyond the scope of this
+document, but there are a few, particular bits that are necessary for
+porting.
+
+Some parts of the libstdc++-v3 library are compiled with the libtool
+@code{--tags CXX} option (the C++ definitions for libtool).  Therefore,
+@file{ltcf-cxx.sh} in the top-level directory needs to have the correct
+logic to compile and archive objects equivalent to the C version of libtool,
+@file{ltcf-c.sh}.  Some libtool targets have definitions for C but not
+for C++, or C++ definitions which have not been kept up to date.
+
+The C++ run-time library contains initialization code that needs to be
+run as the library is loaded.  Often, that requires linking in special
+object files when the C++ library is built as a shared library, or
+taking other system-specific actions.
 
 The libstdc++-v3 library is linked with the C version of libtool, even though it
 is a C++ library.  Therefore, the C version of libtool needs to ensure
@@ -439,6 +455,12 @@ that sets @code{archive_cmds}.  Here, adjust the setting for your
 operating system.
 
 @c ---------------------------------------------------------------------
+@c GFDL
+@c ---------------------------------------------------------------------
+
+@include fdl.texi
+
+@c ---------------------------------------------------------------------
 @c Epilogue
 @c ---------------------------------------------------------------------