Commit 2f103494 by Benjamin Kosnik Committed by Benjamin Kosnik

contribute.html: Add bits about getting to the LWG issues pages.


2000-06-19  Benjamin Kosnik  <bkoz@soma.redhat.com>

	* docs/17_intro/contribute.html: Add bits about getting to the LWG
	issues pages.
	* docs/documentation.html: Rename link to make more accurate and scary.
	* docs/gccrebuild.html: Edit for clarity as these are no longer
	separate projects.
	* docs/install.html: Add bits about binutils for
	-ffunction-sections, -fdata-sections, -Wl,--gc-sections

	* configure.in: Add call for GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
	* math/Makefile.am (EXTRA_DIST): Change USE_LONG_DOUBLE to
	USE_COMPLEX_LONG_DOUBLE.
	* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Break into
	GLIBCPP_CHECK_MATH_SUPPORT and GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
	Works around irregularies in powerpc "C" compiler, but a good idea
	anyway.

	* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT):
	New. Merge both old compiler bug checks for complex into this.

From-SVN: r34601
parent 7626c237
2000-06-19 Benjamin Kosnik <bkoz@soma.redhat.com>
* docs/17_intro/contribute.html: Add bits about getting to the LWG
issues pages.
* docs/documentation.html: Rename link to make more accurate and scary.
* docs/gccrebuild.html: Edit for clarity as these are no longer
separate projects.
* docs/install.html: Add bits about binutils for
-ffunction-sections, -fdata-sections, -Wl,--gc-sections
* configure.in: Add call for GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
* math/Makefile.am (EXTRA_DIST): Change USE_LONG_DOUBLE to
USE_COMPLEX_LONG_DOUBLE.
* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Break into
GLIBCPP_CHECK_MATH_SUPPORT and GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
Works around irregularies in powerpc "C" compiler, but a good idea
anyway.
* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT):
New. Merge both old compiler bug checks for complex into this.
2000-06-19 Anthony Williams <anthony@anthonyw.cjb.net>
* testsuite/21_strings/find.cc: Empty strings can be found at all
......
......@@ -98,7 +98,7 @@ THREADINCS = @THREADINCS@
THREADLIBS = @THREADLIBS@
THREADOBJS = @THREADOBJS@
THREADSPEC = @THREADSPEC@
USE_LONG_DOUBLE = @USE_LONG_DOUBLE@
USE_COMPLEX_LONG_DOUBLE = @USE_COMPLEX_LONG_DOUBLE@
VERSION = @VERSION@
WERROR = @WERROR@
WFMT_FLAGS = @WFMT_FLAGS@
......
......@@ -888,6 +888,73 @@ AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [
])
dnl
dnl Check to see what the underlying c library or math library is like.
dnl
dnl Define HAVE_CARGF etc if "cargf" is found.
dnl
dnl GLIBCPP_CHECK_MATH_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CHECK_LIB(m, sin, libm="-lm")
save_LIBS="$LIBS"
LIBS="$LIBS $libm"
dnl Check to see if basic C math functions have float, long double versions.
AC_REPLACE_MATHFUNCS(cosf fabsf sinf sqrtf)
AC_CHECK_FUNCS(isnan isnanf isnanl isinf isinff isinfl copysign copysignl \
acosf acosl asinf asinl atanf atanl atan2f atan2l ceilf ceill cosl \
coshf coshl expf expl fabsl floorf floorl fmodf fmodl frexpf frexpl ldexpf \
ldexpl logf logl log10f log10l modff modfl powf powl sinl sinhf \
sinhl sqrtl tanf tanl tanhf tanhl strtof strtold sincos sincosf \
sincosl finite finitef finitel fqfinite fpclass qfpclass)
#Some runtimes have these functions with a preceding underscore. Please
# keep this sync'd with the one above. And if you add any new symbol,
# please add the corresponding block in the @BOTTOM@ section of
# acconfig.h.
AC_CHECK_FUNCS(_isnan _isnanf _isnanl _isinf _isinff _isinfl _copysign \
_copysignl _acosf _acosl _asinf _asinl _atanf _atanl _atan2f _atan2l \
_ceilf _ceill _cosf _cosl _coshf _coshl _expf _expl _fabsf _fabsl \
_floorf _floorl _fmodf _fmodl _frexpf _frexpl _ldexpf _ldexpl _logf _logl \
_log10f _log10l _modff _modfl _powf _powl _sinf _sinl _sinhf _sinhl \
_sqrtf _sqrtl _tanf _tanl _tanhf _tanhl _strtof _strtold _sincos _sincosf \
_sincosl _finite _finitef _finitel _fqfinite _fpclass _qfpclass)
LIBS="$save_LIBS"
AC_LANG_RESTORE
])
dnl
dnl Check to see if there is native support for complex
dnl
dnl Don't compile bits in math/* if native support exits.
dnl
dnl Define USE_COMPLEX_LONG_DOUBLE etc if "cargf" is found.
dnl
dnl GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [
dnl Check for complex versions of math functions of platform.
AC_CHECK_HEADERS([complex.h])
AC_REPLACE_MATHFUNCS(ccos ccosf ccosh ccoshf cexp cexpf c_log c_logf \
clog10 clog10f cpow cpowf csin csinf csinh csinhf csqrt csqrtf \
ctan ctanf ctanh ctanhf \
carg cargf nan hypot hypotf atan2f expf copysignf)
dnl We compile the long double complex functions only if the function
dnl provides the non-complex long double functions.
USE_LONG_DOUBLE=no
AC_CHECK_FUNC(copysignl,
USE_LONG_DOUBLE=yes
AC_REPLACE_MATHFUNCS(ccoshl ccosl cexpl cpowl csinhl csinl \
csqrtl ctanhl ctanl cargl hypotl signbitl c_logl clog10l))
AC_SUBST(USE_COMPLEX_LONG_DOUBLE)
])
dnl Check to see what architecture we are compiling for. If it's
dnl supported, use special hand-crafted routines to provide thread
......@@ -1086,59 +1153,6 @@ AC_DEFUN(GLIBCPP_CHECK_CTYPE, [
dnl
dnl Check to see what the underlying c library or math library is like.
dnl
dnl Define HAVE_CARGF etc if "cargf" is found.
dnl
dnl GLIBCPP_CHECK_MATH_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
AC_CHECK_LIB(m, sin, libm="-lm")
save_LIBS="$LIBS"
LIBS="$LIBS $libm"
dnl Check for complex versions of math functions of platform.
AC_CHECK_HEADERS([complex.h])
AC_REPLACE_MATHFUNCS(ccos ccosf ccosh ccoshf cexp cexpf c_log c_logf \
clog10 clog10f cpow cpowf csin csinf csinh csinhf csqrt csqrtf \
ctan ctanf ctanh ctanhf \
carg cargf nan hypot hypotf atan2f expf copysignf)
dnl We compile the long double complex functions only if the function
dnl provides the non-complex long double functions.
USE_LONG_DOUBLE=no
AC_CHECK_FUNC(copysignl,
USE_LONG_DOUBLE=yes
AC_REPLACE_MATHFUNCS(ccoshl ccosl cexpl cpowl csinhl csinl \
csqrtl ctanhl ctanl cargl hypotl signbitl c_logl clog10l))
AC_SUBST(USE_LONG_DOUBLE)
dnl Check to see if basic C math functions have float, long double versions.
AC_REPLACE_MATHFUNCS(cosf fabsf sinf sqrtf)
AC_CHECK_FUNCS(isnan isnanf isnanl isinf isinff isinfl copysign copysignl \
acosf acosl asinf asinl atanf atanl atan2f atan2l ceilf ceill cosl \
coshf coshl expf expl fabsl floorf floorl fmodf fmodl frexpf frexpl ldexpf \
ldexpl logf logl log10f log10l modff modfl powf powl sinl sinhf \
sinhl sqrtl tanf tanl tanhf tanhl strtof strtold sincos sincosf \
sincosl finite finitef finitel fqfinite fpclass qfpclass)
#Some runtimes have these functions with a preceding underscore. Please
# keep this sync'd with the one above. And if you add any new symbol,
# please add the corresponding block in the @BOTTOM@ section of
# acconfig.h.
AC_CHECK_FUNCS(_isnan _isnanf _isnanl _isinf _isinff _isinfl _copysign \
_copysignl _acosf _acosl _asinf _asinl _atanf _atanl _atan2f _atan2l \
_ceilf _ceill _cosf _cosl _coshf _coshl _expf _expl _fabsf _fabsl \
_floorf _floorl _fmodf _fmodl _frexpf _frexpl _ldexpf _ldexpl _logf _logl \
_log10f _log10l _modff _modfl _powf _powl _sinf _sinl _sinhf _sinhl \
_sqrtf _sqrtl _tanf _tanl _tanhf _tanhl _strtof _strtold _sincos _sincosf \
_sincosl _finite _finitef _finitel _fqfinite _fpclass _qfpclass)
LIBS="$save_LIBS"
])
dnl
dnl Check to see if this target can enable the wchar_t parts of libstdc++.
dnl
dnl Define _GLIBCPP_USE_WCHAR_T if all the bits are found
......@@ -1232,9 +1246,33 @@ dnl __complex__ float support.
dnl
dnl Define _GLIBCPP_BUGGY_FLOAT_COMPLEX if buggy.
dnl
dnl GLIBCPP_CHECK_COMPLEX_FLOAT_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_COMPLEX_FLOAT_SUPPORT, [
dnl Check to see if this version of GNU C++ is afflicted by bugs in
dnl __complex__ support.Check for buggy __complex__ that will cause ICE in
dnl gcc-2.95.x when using the library, unless we define the default copy
dnl ctor in the specializations of complex<>.
dnl
dnl Define _GLIBCPP_BUGGY_COMPLEX if buggy.
dnl GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT, [
AC_REQUIRE([AC_PROG_CXX])
AC_MSG_CHECKING([for GNU C++ __complex__ support])
AC_CACHE_VAL(glibcpp_cv_complex, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([struct dcomplex { __complex__ double x; }; \
dcomplex f(const dcomplex& x) { return dcomplex(x); }], \
[ dcomplex x; f(x); ],
glibcpp_cv_complex=ok,
glibcpp_cv_complex=buggy
)
AC_LANG_RESTORE
])
AC_MSG_RESULT($glibcpp_cv_complex)
if test $glibcpp_cv_complex = buggy; then
AC_DEFINE(_GLIBCPP_BUGGY_COMPLEX)
fi
AC_MSG_CHECKING([for GNU C++ __complex__ float support])
AC_CACHE_VAL(glibcpp_cv_float_complex, [
AC_LANG_SAVE
......@@ -1272,37 +1310,6 @@ EOB
dnl
dnl
dnl Check to see if this version of GNU C++ is afflicted by bugs in
dnl __complex__ support.Check for buggy __complex__ that will cause ICE in
dnl gcc-2.95.x when using the library, unless we define the default copy
dnl ctor in the specializations of complex<>.
dnl
dnl Define _GLIBCPP_BUGGY_COMPLEX if buggy.
dnl
dnl GLIBCPP_CHECK_COMPLEX_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_COMPLEX_SUPPORT, [
AC_REQUIRE([AC_PROG_CXX])
AC_MSG_CHECKING([for GNU C++ __complex__ support])
AC_CACHE_VAL(glibcpp_cv_complex, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([struct dcomplex { __complex__ double x; }; \
dcomplex f(const dcomplex& x) { return dcomplex(x); }], \
[ dcomplex x; f(x); ],
glibcpp_cv_complex=ok,
glibcpp_cv_complex=buggy
)
AC_LANG_RESTORE
])
AC_MSG_RESULT($glibcpp_cv_complex)
if test $glibcpp_cv_complex = buggy; then
AC_DEFINE(_GLIBCPP_BUGGY_COMPLEX)
fi
])
dnl
dnl Check for special debugging mode; not for production use.
dnl
dnl GLIBCPP_ENABLE_DEBUG
......
......@@ -900,6 +900,73 @@ AC_DEFUN(GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT, [
])
dnl
dnl Check to see what the underlying c library or math library is like.
dnl
dnl Define HAVE_CARGF etc if "cargf" is found.
dnl
dnl GLIBCPP_CHECK_MATH_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CHECK_LIB(m, sin, libm="-lm")
save_LIBS="$LIBS"
LIBS="$LIBS $libm"
dnl Check to see if basic C math functions have float, long double versions.
AC_REPLACE_MATHFUNCS(cosf fabsf sinf sqrtf)
AC_CHECK_FUNCS(isnan isnanf isnanl isinf isinff isinfl copysign copysignl \
acosf acosl asinf asinl atanf atanl atan2f atan2l ceilf ceill cosl \
coshf coshl expf expl fabsl floorf floorl fmodf fmodl frexpf frexpl ldexpf \
ldexpl logf logl log10f log10l modff modfl powf powl sinl sinhf \
sinhl sqrtl tanf tanl tanhf tanhl strtof strtold sincos sincosf \
sincosl finite finitef finitel fqfinite fpclass qfpclass)
#Some runtimes have these functions with a preceding underscore. Please
# keep this sync'd with the one above. And if you add any new symbol,
# please add the corresponding block in the @BOTTOM@ section of
# acconfig.h.
AC_CHECK_FUNCS(_isnan _isnanf _isnanl _isinf _isinff _isinfl _copysign \
_copysignl _acosf _acosl _asinf _asinl _atanf _atanl _atan2f _atan2l \
_ceilf _ceill _cosf _cosl _coshf _coshl _expf _expl _fabsf _fabsl \
_floorf _floorl _fmodf _fmodl _frexpf _frexpl _ldexpf _ldexpl _logf _logl \
_log10f _log10l _modff _modfl _powf _powl _sinf _sinl _sinhf _sinhl \
_sqrtf _sqrtl _tanf _tanl _tanhf _tanhl _strtof _strtold _sincos _sincosf \
_sincosl _finite _finitef _finitel _fqfinite _fpclass _qfpclass)
LIBS="$save_LIBS"
AC_LANG_RESTORE
])
dnl
dnl Check to see if there is native support for complex
dnl
dnl Don't compile bits in math/* if native support exits.
dnl
dnl Define USE_COMPLEX_LONG_DOUBLE etc if "cargf" is found.
dnl
dnl GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT, [
dnl Check for complex versions of math functions of platform.
AC_CHECK_HEADERS([complex.h])
AC_REPLACE_MATHFUNCS(ccos ccosf ccosh ccoshf cexp cexpf c_log c_logf \
clog10 clog10f cpow cpowf csin csinf csinh csinhf csqrt csqrtf \
ctan ctanf ctanh ctanhf \
carg cargf nan hypot hypotf atan2f expf copysignf)
dnl We compile the long double complex functions only if the function
dnl provides the non-complex long double functions.
USE_LONG_DOUBLE=no
AC_CHECK_FUNC(copysignl,
USE_LONG_DOUBLE=yes
AC_REPLACE_MATHFUNCS(ccoshl ccosl cexpl cpowl csinhl csinl \
csqrtl ctanhl ctanl cargl hypotl signbitl c_logl clog10l))
AC_SUBST(USE_COMPLEX_LONG_DOUBLE)
])
dnl Check to see what architecture we are compiling for. If it's
dnl supported, use special hand-crafted routines to provide thread
......@@ -1098,59 +1165,6 @@ AC_DEFUN(GLIBCPP_CHECK_CTYPE, [
dnl
dnl Check to see what the underlying c library or math library is like.
dnl
dnl Define HAVE_CARGF etc if "cargf" is found.
dnl
dnl GLIBCPP_CHECK_MATH_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_MATH_SUPPORT, [
AC_CHECK_LIB(m, sin, libm="-lm")
save_LIBS="$LIBS"
LIBS="$LIBS $libm"
dnl Check for complex versions of math functions of platform.
AC_CHECK_HEADERS([complex.h])
AC_REPLACE_MATHFUNCS(ccos ccosf ccosh ccoshf cexp cexpf c_log c_logf \
clog10 clog10f cpow cpowf csin csinf csinh csinhf csqrt csqrtf \
ctan ctanf ctanh ctanhf \
carg cargf nan hypot hypotf atan2f expf copysignf)
dnl We compile the long double complex functions only if the function
dnl provides the non-complex long double functions.
USE_LONG_DOUBLE=no
AC_CHECK_FUNC(copysignl,
USE_LONG_DOUBLE=yes
AC_REPLACE_MATHFUNCS(ccoshl ccosl cexpl cpowl csinhl csinl \
csqrtl ctanhl ctanl cargl hypotl signbitl c_logl clog10l))
AC_SUBST(USE_LONG_DOUBLE)
dnl Check to see if basic C math functions have float, long double versions.
AC_REPLACE_MATHFUNCS(cosf fabsf sinf sqrtf)
AC_CHECK_FUNCS(isnan isnanf isnanl isinf isinff isinfl copysign copysignl \
acosf acosl asinf asinl atanf atanl atan2f atan2l ceilf ceill cosl \
coshf coshl expf expl fabsl floorf floorl fmodf fmodl frexpf frexpl ldexpf \
ldexpl logf logl log10f log10l modff modfl powf powl sinl sinhf \
sinhl sqrtl tanf tanl tanhf tanhl strtof strtold sincos sincosf \
sincosl finite finitef finitel fqfinite fpclass qfpclass)
#Some runtimes have these functions with a preceding underscore. Please
# keep this sync'd with the one above. And if you add any new symbol,
# please add the corresponding block in the @BOTTOM@ section of
# acconfig.h.
AC_CHECK_FUNCS(_isnan _isnanf _isnanl _isinf _isinff _isinfl _copysign \
_copysignl _acosf _acosl _asinf _asinl _atanf _atanl _atan2f _atan2l \
_ceilf _ceill _cosf _cosl _coshf _coshl _expf _expl _fabsf _fabsl \
_floorf _floorl _fmodf _fmodl _frexpf _frexpl _ldexpf _ldexpl _logf _logl \
_log10f _log10l _modff _modfl _powf _powl _sinf _sinl _sinhf _sinhl \
_sqrtf _sqrtl _tanf _tanl _tanhf _tanhl _strtof _strtold _sincos _sincosf \
_sincosl _finite _finitef _finitel _fqfinite _fpclass _qfpclass)
LIBS="$save_LIBS"
])
dnl
dnl Check to see if this target can enable the wchar_t parts of libstdc++.
dnl
dnl Define _GLIBCPP_USE_WCHAR_T if all the bits are found
......@@ -1244,9 +1258,33 @@ dnl __complex__ float support.
dnl
dnl Define _GLIBCPP_BUGGY_FLOAT_COMPLEX if buggy.
dnl
dnl GLIBCPP_CHECK_COMPLEX_FLOAT_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_COMPLEX_FLOAT_SUPPORT, [
dnl Check to see if this version of GNU C++ is afflicted by bugs in
dnl __complex__ support.Check for buggy __complex__ that will cause ICE in
dnl gcc-2.95.x when using the library, unless we define the default copy
dnl ctor in the specializations of complex<>.
dnl
dnl Define _GLIBCPP_BUGGY_COMPLEX if buggy.
dnl GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT, [
AC_REQUIRE([AC_PROG_CXX])
AC_MSG_CHECKING([for GNU C++ __complex__ support])
AC_CACHE_VAL(glibcpp_cv_complex, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([struct dcomplex { __complex__ double x; }; \
dcomplex f(const dcomplex& x) { return dcomplex(x); }], \
[ dcomplex x; f(x); ],
glibcpp_cv_complex=ok,
glibcpp_cv_complex=buggy
)
AC_LANG_RESTORE
])
AC_MSG_RESULT($glibcpp_cv_complex)
if test $glibcpp_cv_complex = buggy; then
AC_DEFINE(_GLIBCPP_BUGGY_COMPLEX)
fi
AC_MSG_CHECKING([for GNU C++ __complex__ float support])
AC_CACHE_VAL(glibcpp_cv_float_complex, [
AC_LANG_SAVE
......@@ -1284,37 +1322,6 @@ EOB
dnl
dnl
dnl Check to see if this version of GNU C++ is afflicted by bugs in
dnl __complex__ support.Check for buggy __complex__ that will cause ICE in
dnl gcc-2.95.x when using the library, unless we define the default copy
dnl ctor in the specializations of complex<>.
dnl
dnl Define _GLIBCPP_BUGGY_COMPLEX if buggy.
dnl
dnl GLIBCPP_CHECK_COMPLEX_SUPPORT
AC_DEFUN(GLIBCPP_CHECK_COMPLEX_SUPPORT, [
AC_REQUIRE([AC_PROG_CXX])
AC_MSG_CHECKING([for GNU C++ __complex__ support])
AC_CACHE_VAL(glibcpp_cv_complex, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([struct dcomplex { __complex__ double x; }; \
dcomplex f(const dcomplex& x) { return dcomplex(x); }], \
[ dcomplex x; f(x); ],
glibcpp_cv_complex=ok,
glibcpp_cv_complex=buggy
)
AC_LANG_RESTORE
])
AC_MSG_RESULT($glibcpp_cv_complex)
if test $glibcpp_cv_complex = buggy; then
AC_DEFINE(_GLIBCPP_BUGGY_COMPLEX)
fi
])
dnl
dnl Check for special debugging mode; not for production use.
dnl
dnl GLIBCPP_ENABLE_DEBUG
......
......@@ -108,10 +108,10 @@ else
GLIBCPP_CHECK_COMPILER_FEATURES
GLIBCPP_CHECK_LINKER_FEATURES
GLIBCPP_CHECK_COMPLEX_SUPPORT
GLIBCPP_CHECK_COMPLEX_FLOAT_SUPPORT
GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT
GLIBCPP_CHECK_MATH_SUPPORT
GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT
GLIBCPP_CHECK_WCHAR_T_SUPPORT
GLIBCPP_CHECK_CTYPE
......
......@@ -28,6 +28,12 @@ and their web-site is right
(And if you've already registered with them, clicking this link will take you to directly to the place where you can
<a href="http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998">buy the standard on-line.)</a>
<li> The library working group bugs, and known defects, can be obtained at these web sites:
<a href="http://www.dkuug.dk/jtc1/sc22/wg21/">http://www.dkuug.dk/jtc1/sc22/wg21 </a>
and <a href="http://www.comeaucomputing.com/iso/">http://www.comeaucomputing.com/iso/</a>
<li> The newsgroup dedicated to standardization issues is comp.std.c++: this FAQ for this group is quite useful and can be found <a href="http://reality.sgi.com/austern_mti/std-c++/faq.html"> here </a>.
<li> Peruse the <a href="http://www.gnu.ai.mit.edu/prep/standards_toc.html">GNU Coding Standards</a>, and chuckle when you hit the part about "Using Languages Other Than C."
<li> Be familiar with the extensions that preceded these general GNU rules. These style issues for libstdc++ can be found in the file C++STYLE, located in the root level of the distribution, or <a href="C++STYLE"> here. </a>
......@@ -44,7 +50,7 @@ and their web-site is right
<p>
Small changes can be accepted without a copyright assignment form on
file. New code and additions to the library need completed copyright
assignment form on file at Cygnus. Note: your employer may be required
assignment form on file at the FSF. Note: your employer may be required
to fill out appropriate disclaimer forms as well. Here is the <a href="libstdc++-assign.txt"> form. </a>
Please contact <a href="mailto:benjamin@cygnus.com">Benjamin
......
......@@ -39,7 +39,7 @@
<UL>
<A HREF="configopts.html">Configuring the library</A><BR>
<A HREF="install.html">Install the library</A><BR>
<A HREF="gccrebuild.html">Rebuilding libgcc for namespaces</A><BR>
<A HREF="gccrebuild.html">Rebuilding libgcc for ABI-breaking flags</A><BR>
</UL>
<HR>
......
......@@ -9,12 +9,18 @@
<TITLE>How to automatically rebuild libgcc.a.</TITLE>
<LINK REL="home" HREF="http://sourceware.cygnus.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: gccrebuild.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $ -->
<!-- $Id: gccrebuild.html,v 1.2 2000/05/03 16:11:02 pme Exp $ -->
</HEAD>
<BODY>
<H2 CLASS="centered"><TT>--enable-libgcc-rebuild</TT></H2>
<P> NOTE: If using the <TT> --enable-libstdcxx-v3</TT> approach to
configuring, the std namespace will be turned on for you, without
going this route. Only use this flag if you'd like to experiment with
yet more binary incompatibilities, as discussed below.
</P>
<P>If you build libstdc++ using certain flags (e.g., -fnew-abi), then
programs that use some of the new C++ language features (like namespace
std and RTTI) will only link if the compiler's libgcc is built using
......@@ -22,26 +28,24 @@
the name mangling algorithm) will have the same effect.
</P>
<P>Since the compiler and this library are currently separate projects,
you would normally have to do this yourself. Passing
--enable-libgcc-rebuild to libstdc++'s configure script means that when
you type 'make' next, after libstdc++ is built, then libgcc will also
be rebuilt. If you've given other --enable/--with switches to libstdc++
that would require a core library rebuild, then those compiler options
will be automatically used when compiling libgcc, such that both
libraries will always be built with the same options.
<P>Passing --enable-libgcc-rebuild to libstdc++'s configure script
means that when you type 'make' next, after libstdc++ is built,
then libgcc will also be rebuilt. If you've given other
--enable/--with switches to libstdc++ that would require a core
library rebuild, then those compiler options will be automatically
used when compiling libgcc, such that both libraries will always be
built with the same options.
</P>
<P>Of course, since they are currently separate projects, the libstdc++
scripts have no idea where you've built your GCC, so you must tell it.
The argument to this enable switch is the path to the GCC build
<P>The argument to this enable switch is the path to the GCC build
directory. The GCC configuration documentation refers to this directory
as <EM>objdir</EM>; here it will be called <EM>GCCobjdir</EM>.
</P>
<P>This is a kludge, and will go away eventually. (In a sense, it has
already gone away, as the library sources have been merged into the
compiler sources.)
<P>This is a kludge, and will go away eventually, as more and more of
these copiler-level ABI switches get turned on by default. (In a
sense, it has already gone away, as the library sources have been
merged into the compiler sources.)
</P>
<HR>
......@@ -114,7 +118,7 @@
<HR>
<P CLASS="fineprint"><EM>
$Id: gccrebuild.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $
$Id: gccrebuild.html,v 1.2 2000/05/03 16:11:02 pme Exp $
</EM></P>
......
......@@ -9,7 +9,7 @@
<TITLE>libstdc++-v3 Installation Instructions</TITLE>
<LINK REL="home" HREF="http://sourceware.cygnus.com/libstdc++/">
<LINK REL=StyleSheet HREF="lib3styles.css">
<!-- $Id: install.html,v 1.11 2000/04/18 22:05:49 pme Exp $ -->
<!-- $Id: install.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $ -->
</HEAD>
<BODY>
......@@ -60,6 +60,16 @@
is GNU Make, since it is the only 'make' that will parse these
makefiles correctly.
</P>
<P>As of June 19, 2000, libstdc++ attempts to use tricky and
space-saving features of the GNU toolchain, enabled with
<TT>-ffunction-sections -fdata-sections -Wl,--gc-sections</TT>. To
obtain maximum benefit from this, binutils after this date should
also be used (bugs were fixed with c++ exception handling related
to this change in libstdc++-v3.) The version of these tools should
be: <TT>2.10.90</TT>
</P>
<P>Finally, if you are using cygwin to compile libstdc++-v3 on
win32, you'll have to get a version of the cygwin.dll that is
dated on or after February 1, 2000. This is necessary to
......@@ -369,7 +379,7 @@ To rebuild just libstdc++, use:
Comments and suggestions are welcome, and may be sent to
<A HREF="mailto:pme@sourceware.cygnus.com">Phil Edwards</A> or
<A HREF="mailto:gdr@egcs.cygnus.com">Gabriel Dos Reis</A>.
<BR> $Id: install.html,v 1.11 2000/04/18 22:05:49 pme Exp $
<BR> $Id: install.html,v 1.1 2000/04/21 20:33:30 bkoz Exp $
</EM></P>
......
......@@ -98,7 +98,7 @@ THREADINCS = @THREADINCS@
THREADLIBS = @THREADLIBS@
THREADOBJS = @THREADOBJS@
THREADSPEC = @THREADSPEC@
USE_LONG_DOUBLE = @USE_LONG_DOUBLE@
USE_COMPLEX_LONG_DOUBLE = @USE_COMPLEX_LONG_DOUBLE@
VERSION = @VERSION@
WERROR = @WERROR@
WFMT_FLAGS = @WFMT_FLAGS@
......
......@@ -42,7 +42,7 @@ EXTRA_DIST = \
libmath_la_LIBADD = \
@LIBMATHOBJS@ \
$(EXTRA_LONG_DOUBLE_$(USE_LONG_DOUBLE))
$(EXTRA_LONG_DOUBLE_$(USE_COMPLEX_LONG_DOUBLE))
libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
......
......@@ -98,7 +98,7 @@ THREADINCS = @THREADINCS@
THREADLIBS = @THREADLIBS@
THREADOBJS = @THREADOBJS@
THREADSPEC = @THREADSPEC@
USE_LONG_DOUBLE = @USE_LONG_DOUBLE@
USE_COMPLEX_LONG_DOUBLE = @USE_COMPLEX_LONG_DOUBLE@
VERSION = @VERSION@
WERROR = @WERROR@
WFMT_FLAGS = @WFMT_FLAGS@
......@@ -130,7 +130,7 @@ EXTRA_DIST = \
libmath_la_LIBADD = \
@LIBMATHOBJS@ \
$(EXTRA_LONG_DOUBLE_$(USE_LONG_DOUBLE))
$(EXTRA_LONG_DOUBLE_$(USE_COMPLEX_LONG_DOUBLE))
libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
......
......@@ -96,7 +96,7 @@ THREADINCS = @THREADINCS@
THREADLIBS = @THREADLIBS@
THREADOBJS = @THREADOBJS@
THREADSPEC = @THREADSPEC@
USE_LONG_DOUBLE = @USE_LONG_DOUBLE@
USE_COMPLEX_LONG_DOUBLE = @USE_COMPLEX_LONG_DOUBLE@
VERSION = @VERSION@
WERROR = @WERROR@
WFMT_FLAGS = @WFMT_FLAGS@
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment