mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-31 07:30:32 +08:00
acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version requirement.
2003-07-05 Phil Edwards <pme@gcc.gnu.org> * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version requirement. Add port_specific_symbol_file variable. * configure.host: Add docs for port_specific_symbol_file. Clean up try_cpu block for x86. * config/linker-map.gnu: No more "last symbol can't have a semicolon" kaka. Add hook for port-specific symbols. * src/Makefile.am: Remove trailing whitespace. (libstdc++-symbol.ver): Detect the presence of port-specific symbols, and add them accordingly. * docs/html/17_intro/porting.texi: Bring up to date. * src/Makefile.in, aclocal.m4, configure, docs/html/17_intro/porting.html: Regenerated. From-SVN: r68992
This commit is contained in:
parent
0a72704b04
commit
e6b7a69ab6
@ -1,3 +1,20 @@
|
||||
2003-07-05 Phil Edwards <pme@gcc.gnu.org>
|
||||
|
||||
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version
|
||||
requirement. Add port_specific_symbol_file variable.
|
||||
* configure.host: Add docs for port_specific_symbol_file.
|
||||
Clean up try_cpu block for x86.
|
||||
* config/linker-map.gnu: No more "last symbol can't have a
|
||||
semicolon" kaka. Add hook for port-specific symbols.
|
||||
* src/Makefile.am: Remove trailing whitespace.
|
||||
(libstdc++-symbol.ver): Detect the presence of port-specific
|
||||
symbols, and add them accordingly.
|
||||
|
||||
* docs/html/17_intro/porting.texi: Bring up to date.
|
||||
|
||||
* src/Makefile.in, aclocal.m4, configure,
|
||||
docs/html/17_intro/porting.html: Regenerated.
|
||||
|
||||
2003-07-05 Phil Edwards <pme@gcc.gnu.org>
|
||||
|
||||
* scripts/create_testsuite_files: New file.
|
||||
|
@ -2258,9 +2258,9 @@ if test $enable_symvers != no; then
|
||||
AC_MSG_RESULT($glibcxx_shared_libgcc)
|
||||
fi
|
||||
|
||||
# For GNU ld, we need at least this version. It's 2.12 in the same format
|
||||
# For GNU ld, we need at least this version. It's 2.14 in the same format
|
||||
# as the tested-for version. See GLIBCXX_CHECK_LINKER_FEATURES for more.
|
||||
glibcxx_min_gnu_ld_version=21200
|
||||
glibcxx_min_gnu_ld_version=21400
|
||||
|
||||
# Check to see if unspecified "yes" value can win, given results
|
||||
# above.
|
||||
@ -2305,6 +2305,7 @@ case $enable_symvers in
|
||||
esac
|
||||
|
||||
AC_SUBST(SYMVER_MAP)
|
||||
AC_SUBST(port_specific_symbol_file)
|
||||
AM_CONDITIONAL(GLIBCXX_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
|
||||
AC_MSG_CHECKING([versioning on shared library symbols])
|
||||
AC_MSG_RESULT($enable_symvers)
|
||||
|
5
libstdc++-v3/aclocal.m4
vendored
5
libstdc++-v3/aclocal.m4
vendored
@ -2270,9 +2270,9 @@ if test $enable_symvers != no; then
|
||||
AC_MSG_RESULT($glibcxx_shared_libgcc)
|
||||
fi
|
||||
|
||||
# For GNU ld, we need at least this version. It's 2.12 in the same format
|
||||
# For GNU ld, we need at least this version. It's 2.14 in the same format
|
||||
# as the tested-for version. See GLIBCXX_CHECK_LINKER_FEATURES for more.
|
||||
glibcxx_min_gnu_ld_version=21200
|
||||
glibcxx_min_gnu_ld_version=21400
|
||||
|
||||
# Check to see if unspecified "yes" value can win, given results
|
||||
# above.
|
||||
@ -2317,6 +2317,7 @@ case $enable_symvers in
|
||||
esac
|
||||
|
||||
AC_SUBST(SYMVER_MAP)
|
||||
AC_SUBST(port_specific_symbol_file)
|
||||
AM_CONDITIONAL(GLIBCXX_BUILD_VERSIONED_SHLIB, test $enable_symvers != no)
|
||||
AC_MSG_CHECKING([versioning on shared library symbols])
|
||||
AC_MSG_RESULT($enable_symvers)
|
||||
|
@ -1,4 +1,4 @@
|
||||
## Linker script for GNU ld 2.11.94+ only.
|
||||
## Linker script for GNU ld 2.13.91+ only.
|
||||
##
|
||||
## Copyright (C) 2002, 2003 Free Software Foundation, Inc.
|
||||
##
|
||||
@ -25,7 +25,6 @@ GLIBCXX_3.4 {
|
||||
global:
|
||||
|
||||
# Names inside the 'extern' block are demangled names.
|
||||
# All but the last are terminated with a semicolon.
|
||||
extern "C++"
|
||||
{
|
||||
std::[A-Za-k]*;
|
||||
@ -56,7 +55,7 @@ GLIBCXX_3.4 {
|
||||
std::__num_base::_S_format_int*;
|
||||
std::__num_base::_S_atoms_in;
|
||||
std::__num_base::_S_atoms_out;
|
||||
std::__numpunct_cache*
|
||||
std::__numpunct_cache*;
|
||||
};
|
||||
|
||||
# Names not in an 'extern' block are mangled names.
|
||||
@ -169,6 +168,8 @@ GLIBCXX_3.4 {
|
||||
_ZN9__gnu_cxx22_Atomic_add_mutex_onceE;
|
||||
_ZN9__gnu_cxx31__gthread_atomic_add_mutex_onceEv;
|
||||
|
||||
# DO NOT DELETE THIS LINE. Port-specific symbols, if any, will be here.
|
||||
|
||||
local:
|
||||
*;
|
||||
};
|
||||
|
91
libstdc++-v3/configure
vendored
91
libstdc++-v3/configure
vendored
@ -841,7 +841,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
|
||||
|
||||
|
||||
|
||||
for ac_prog in gawk mawk nawk awk
|
||||
for ac_prog in mawk gawk nawk awk
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
@ -1476,7 +1476,7 @@ else
|
||||
if { (eval echo configure:1477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||
for file in conftest.*; do
|
||||
case $file in
|
||||
*.c | *.o | *.obj) ;;
|
||||
*.$ac_ext | *.c | *.o | *.obj) ;;
|
||||
*) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
|
||||
esac
|
||||
done
|
||||
@ -22911,7 +22911,7 @@ else
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
|
||||
for ac_hdr in unistd.h
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
@ -23043,24 +23043,11 @@ else
|
||||
#include <fcntl.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
#if HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_SYS_STAT_H
|
||||
# include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
/* This mess was copied from the GNU getpagesize.h. */
|
||||
#ifndef HAVE_GETPAGESIZE
|
||||
# ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
# endif
|
||||
|
||||
/* Assume that all systems that can run configure have sys/param.h. */
|
||||
# ifndef HAVE_SYS_PARAM_H
|
||||
@ -23168,7 +23155,7 @@ main()
|
||||
}
|
||||
|
||||
EOF
|
||||
if { (eval echo configure:23172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:23159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_func_mmap_fixed_mapped=yes
|
||||
else
|
||||
@ -23219,18 +23206,18 @@ fi
|
||||
# Check to see if libgcc_s exists, indicating that shared libgcc is possible.
|
||||
if test $enable_symvers != no; then
|
||||
echo $ac_n "checking for shared libgcc""... $ac_c" 1>&6
|
||||
echo "configure:23223: checking for shared libgcc" >&5
|
||||
echo "configure:23210: checking for shared libgcc" >&5
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=' -lgcc_s'
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23227 "configure"
|
||||
#line 23214 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
return 0
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:23221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
glibcxx_shared_libgcc=yes
|
||||
else
|
||||
@ -23244,9 +23231,9 @@ rm -f conftest*
|
||||
echo "$ac_t""$glibcxx_shared_libgcc" 1>&6
|
||||
fi
|
||||
|
||||
# For GNU ld, we need at least this version. It's 2.12 in the same format
|
||||
# For GNU ld, we need at least this version. It's 2.14 in the same format
|
||||
# as the tested-for version. See GLIBCXX_CHECK_LINKER_FEATURES for more.
|
||||
glibcxx_min_gnu_ld_version=21200
|
||||
glibcxx_min_gnu_ld_version=21400
|
||||
|
||||
# Check to see if unspecified "yes" value can win, given results
|
||||
# above.
|
||||
@ -23265,14 +23252,14 @@ if test $enable_symvers = yes ; then
|
||||
echo 'FOO { global: f[a-z]o; local: *; };' > conftest.map
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23269 "configure"
|
||||
#line 23256 "configure"
|
||||
#include "confdefs.h"
|
||||
int foo;
|
||||
int main() {
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:23263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
enable_symvers=gnu
|
||||
else
|
||||
@ -23310,6 +23297,7 @@ esac
|
||||
|
||||
|
||||
|
||||
|
||||
if test $enable_symvers != no; then
|
||||
GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE=
|
||||
GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE='#'
|
||||
@ -23318,7 +23306,7 @@ else
|
||||
GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE=
|
||||
fi
|
||||
echo $ac_n "checking versioning on shared library symbols""... $ac_c" 1>&6
|
||||
echo "configure:23322: checking versioning on shared library symbols" >&5
|
||||
echo "configure:23310: checking versioning on shared library symbols" >&5
|
||||
echo "$ac_t""$enable_symvers" 1>&6
|
||||
|
||||
|
||||
@ -23333,17 +23321,17 @@ echo "$ac_t""$enable_symvers" 1>&6
|
||||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:23337: checking for $ac_hdr" >&5
|
||||
echo "configure:23325: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23342 "configure"
|
||||
#line 23330 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:23347: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:23335: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
@ -23376,7 +23364,7 @@ done
|
||||
# Can't do these in a loop, else the resulting syntax is wrong.
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23380 "configure"
|
||||
#line 23368 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
@ -23386,7 +23374,7 @@ int main() {
|
||||
int f = RLIMIT_DATA ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23390: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:23378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcxx_mresult=1
|
||||
else
|
||||
@ -23403,7 +23391,7 @@ EOF
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23407 "configure"
|
||||
#line 23395 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
@ -23413,7 +23401,7 @@ int main() {
|
||||
int f = RLIMIT_RSS ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23417: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:23405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcxx_mresult=1
|
||||
else
|
||||
@ -23430,7 +23418,7 @@ EOF
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23434 "configure"
|
||||
#line 23422 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
@ -23440,7 +23428,7 @@ int main() {
|
||||
int f = RLIMIT_VMEM ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:23432: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcxx_mresult=1
|
||||
else
|
||||
@ -23457,7 +23445,7 @@ EOF
|
||||
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23461 "configure"
|
||||
#line 23449 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
@ -23467,7 +23455,7 @@ int main() {
|
||||
int f = RLIMIT_AS ;
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23471: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:23459: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcxx_mresult=1
|
||||
else
|
||||
@ -23489,7 +23477,7 @@ EOF
|
||||
else
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23493 "configure"
|
||||
#line 23481 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
@ -23499,7 +23487,7 @@ int main() {
|
||||
struct rlimit r; setrlimit(0, &r);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:23491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_setrlimit=yes
|
||||
else
|
||||
@ -23515,7 +23503,7 @@ fi
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for testsuite memory limit support""... $ac_c" 1>&6
|
||||
echo "configure:23519: checking for testsuite memory limit support" >&5
|
||||
echo "configure:23507: checking for testsuite memory limit support" >&5
|
||||
if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
|
||||
ac_mem_limits=yes
|
||||
cat >> confdefs.h <<\EOF
|
||||
@ -23531,7 +23519,7 @@ EOF
|
||||
# Look for setenv, so that extended locale tests can be performed.
|
||||
|
||||
echo $ac_n "checking for setenv declaration""... $ac_c" 1>&6
|
||||
echo "configure:23535: checking for setenv declaration" >&5
|
||||
echo "configure:23523: checking for setenv declaration" >&5
|
||||
if test x${glibcxx_cv_func_setenv_use+set} != xset; then
|
||||
if eval "test \"`echo '$''{'glibcxx_cv_func_setenv_use'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
@ -23546,14 +23534,14 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
|
||||
cross_compiling=$ac_cv_prog_cxx_cross
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23550 "configure"
|
||||
#line 23538 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
int main() {
|
||||
setenv(0, 0, 0);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:23545: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
glibcxx_cv_func_setenv_use=yes
|
||||
else
|
||||
@ -23579,12 +23567,12 @@ fi
|
||||
for ac_func in setenv
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:23583: checking for $ac_func" >&5
|
||||
echo "configure:23571: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 23588 "configure"
|
||||
#line 23576 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
@ -23607,7 +23595,7 @@ $ac_func();
|
||||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:23611: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:23599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
@ -23767,7 +23755,7 @@ glibcxx_prefixdir=${prefix}
|
||||
|
||||
# Process the option --with-gxx-include-dir=<path to include-files directory>
|
||||
echo $ac_n "checking for --with-gxx-include-dir""... $ac_c" 1>&6
|
||||
echo "configure:23771: checking for --with-gxx-include-dir" >&5
|
||||
echo "configure:23759: checking for --with-gxx-include-dir" >&5
|
||||
# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
|
||||
if test "${with_gxx_include_dir+set}" = set; then
|
||||
withval="$with_gxx_include_dir"
|
||||
@ -23791,7 +23779,7 @@ echo "$ac_t""$gxx_include_dir" 1>&6
|
||||
|
||||
# Process the option "--enable-version-specific-runtime-libs"
|
||||
echo $ac_n "checking for --enable-version-specific-runtime-libs""... $ac_c" 1>&6
|
||||
echo "configure:23795: checking for --enable-version-specific-runtime-libs" >&5
|
||||
echo "configure:23783: checking for --enable-version-specific-runtime-libs" >&5
|
||||
# Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
|
||||
if test "${enable_version_specific_runtime_libs+set}" = set; then
|
||||
enableval="$enable_version_specific_runtime_libs"
|
||||
@ -23842,7 +23830,7 @@ if test x"$glibcxx_toolexecdir" = x"no"; then
|
||||
fi
|
||||
|
||||
echo $ac_n "checking for install location""... $ac_c" 1>&6
|
||||
echo "configure:23846: checking for install location" >&5
|
||||
echo "configure:23834: checking for install location" >&5
|
||||
echo "$ac_t""$gxx_include_dir" 1>&6
|
||||
|
||||
|
||||
@ -24126,6 +24114,7 @@ s%@OPT_LDFLAGS@%$OPT_LDFLAGS%g
|
||||
s%@LIBMATHOBJS@%$LIBMATHOBJS%g
|
||||
s%@WERROR@%$WERROR%g
|
||||
s%@SYMVER_MAP@%$SYMVER_MAP%g
|
||||
s%@port_specific_symbol_file@%$port_specific_symbol_file%g
|
||||
s%@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@%$GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE%g
|
||||
s%@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@%$GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE%g
|
||||
s%@baseline_dir@%$baseline_dir%g
|
||||
|
@ -41,6 +41,11 @@
|
||||
# the form '-Wl,blah'
|
||||
# (defaults to empty in acinclude.m4)
|
||||
#
|
||||
# port_specific_symbol_file
|
||||
# whitespace-seperated list of files containing
|
||||
# additional symbols to export from the shared
|
||||
# library, when symbol versioning is in use
|
||||
#
|
||||
#
|
||||
# If the defaults will not work for your platform, you need only change the
|
||||
# variables that won't work, i.e., you do not need to explicitly set a
|
||||
@ -66,7 +71,7 @@ case "${host_cpu}" in
|
||||
alpha*)
|
||||
try_cpu=alpha
|
||||
;;
|
||||
athlon* | i586 | i686 | i786 | x86_64)
|
||||
i[567]86 | x86_64)
|
||||
try_cpu=i486
|
||||
;;
|
||||
hppa*)
|
||||
|
@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="makeinfo 4.3">
|
||||
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">
|
||||
<!--
|
||||
Copyright © 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright © 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
|
||||
<p>Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2 or
|
||||
@ -56,6 +56,9 @@ imposed by the ANSI/ISO standard.
|
||||
works. It is difficult to test the C++ compiler without a working
|
||||
library, but you should at least try some minimal test cases.
|
||||
|
||||
<p>(Note that what we think of as a "target," the library refers to as
|
||||
a "host." The comment at the top of <code>configure.in</code> explains why.)
|
||||
|
||||
<p>Here are the primary steps required to port the library:
|
||||
|
||||
<ul class="menu">
|
||||
@ -92,7 +95,7 @@ directory. The important information is that there needs to be a
|
||||
directory under <code>config/os</code> to store the files for your operating
|
||||
system.
|
||||
|
||||
<p>You might have to change the <code>configure.target</code> file to ensure that
|
||||
<p>You might have to change the <code>configure.host</code> file to ensure that
|
||||
your new directory is activated. Look for the switch statement that sets
|
||||
<code>os_include_dir</code>, and add a pattern to handle your operating system
|
||||
if the default will not suffice. The switch statement switches on only
|
||||
@ -134,45 +137,42 @@ need to define. You will need to add them to the
|
||||
target. It will not work to simply define these macros in
|
||||
<code>os_defines.h</code>.
|
||||
|
||||
<p>At this time, there are a few libstdc++-v3-specific macro which may be
|
||||
defined. <code>_G_USING_THUNKS</code> may be defined to 0 to express that the
|
||||
port doesn't use thunks (although it is unclear that this is still
|
||||
useful since libio support isn't currently working and the g++ v3 ABI
|
||||
invalidates the assumption that some ports don't use thunks).
|
||||
<p>At this time, there are a few libstdc++-v3-specific macros which may be
|
||||
defined:
|
||||
|
||||
<p><code>_GLIBCPP_USE_C99_CHECK</code> may be defined to 1 to check C99
|
||||
<p><code>_GLIBCXX_USE_C99_CHECK</code> may be defined to 1 to check C99
|
||||
function declarations (which are not covered by specialization below)
|
||||
found in system headers against versions found in the library headers
|
||||
derived from the standard.
|
||||
|
||||
<p><code>_GLIBCPP_USE_C99_DYNAMIC</code> may be defined to an expression that
|
||||
<p><code>_GLIBCXX_USE_C99_DYNAMIC</code> may be defined to an expression that
|
||||
yields 0 if and only if the system headers are exposing proper support
|
||||
for C99 functions (which are not covered by specialization below). If
|
||||
defined, it must be 0 while bootstrapping the compiler/rebuilding the
|
||||
library.
|
||||
|
||||
<p><code>_GLIBCPP_USE_C99_LONG_LONG_CHECK</code> may be defined to 1 to check
|
||||
<p><code>_GLIBCXX_USE_C99_LONG_LONG_CHECK</code> may be defined to 1 to check
|
||||
the set of C99 long long function declarations found in system headers
|
||||
against versions found in the library headers derived from the
|
||||
standard.
|
||||
|
||||
<p><code>_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC</code> may be defined to an
|
||||
<p><code>_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC</code> may be defined to an
|
||||
expression that yields 0 if and only if the system headers are
|
||||
exposing proper support for the set of C99 long long functions. If
|
||||
defined, it must be 0 while bootstrapping the compiler/rebuilding the
|
||||
library.
|
||||
|
||||
<p><code>_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC</code> may be defined to an
|
||||
<p><code>_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC</code> may be defined to an
|
||||
expression that yields 0 if and only if the system headers
|
||||
are exposing proper support for the related set of macros. If defined,
|
||||
it must be 0 while bootstrapping the compiler/rebuilding the library.
|
||||
|
||||
<p><code>_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK</code> may be defined
|
||||
<p><code>_GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_CHECK</code> may be defined
|
||||
to 1 to check the related set of function declarations found in system
|
||||
headers against versions found in the library headers derived from
|
||||
the standard.
|
||||
|
||||
<p><code>_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC</code> may be defined
|
||||
<p><code>_GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC</code> may be defined
|
||||
to an expression that yields 0 if and only if the system headers
|
||||
are exposing proper support for the related set of functions. If defined,
|
||||
it must be 0 while bootstrapping the compiler/rebuilding the library.
|
||||
@ -180,8 +180,8 @@ it must be 0 while bootstrapping the compiler/rebuilding the library.
|
||||
<p>Finally, you should bracket the entire file in an include-guard, like
|
||||
this:
|
||||
|
||||
<pre class="example"> #ifndef _GLIBCPP_OS_DEFINES
|
||||
#define _GLIBCPP_OS_DEFINES
|
||||
<pre class="example"> #ifndef _GLIBCXX_OS_DEFINES
|
||||
#define _GLIBCXX_OS_DEFINES
|
||||
...
|
||||
#endif
|
||||
</pre>
|
||||
@ -209,14 +209,14 @@ setup files without explicit help.
|
||||
|
||||
<p>We recommend that for a target triplet <code><CPU>-<vendor>-<OS></code>, you
|
||||
name your configuration directory <code>config/cpu/<CPU></code>. If you do this,
|
||||
the configury will find the directory itself. Otherwise you will need to
|
||||
edit the <code>configure.target</code> file and, in the switch statement that sets
|
||||
the configury will find the directory by itself. Otherwise you will need to
|
||||
edit the <code>configure.host</code> file and, in the switch statement that sets
|
||||
<code>cpu_include_dir</code>, add a pattern to handle your chip.
|
||||
|
||||
<p>Note that some chip families share a single configuration directory, for
|
||||
example, <code>alpha</code>, <code>alphaev5</code>, and <code>alphaev6</code> all use the
|
||||
<code>config/cpu/alpha</code> directory, and there is an entry in the
|
||||
<code>configure.target</code> switch statement to handle this.
|
||||
<code>configure.host</code> switch statement to handle this.
|
||||
|
||||
<p>The <code>cpu_include_dir</code> sets default locations for the files controlling
|
||||
<a href="#Thread%20safety">Thread safety</a> and <a href="#Numeric%20limits">Numeric limits</a>, if the defaults are not
|
||||
@ -456,14 +456,14 @@ see the <code>atomicity.h</code> file for IRIX or IA64.
|
||||
<p>Alternatively, if the primitives are more closely related to the OS
|
||||
than they are to the CPU, you can put the <code>atomicity.h</code> file in
|
||||
the <a href="#Operating%20system">Operating system</a> directory instead. In this case, you must
|
||||
edit <code>configure.target</code>, and in the switch statement that handles
|
||||
edit <code>configure.host</code>, and in the switch statement that handles
|
||||
operating systems, override the <code>ATOMICITYH</code> variable to point to
|
||||
the appropriate <code>os_include_dir</code>. For examples of this approach,
|
||||
see the <code>atomicity.h</code> file for AIX.
|
||||
|
||||
<p>With those bits out of the way, you have to actually write
|
||||
<code>atomicity.h</code> itself. This file should be wrapped in an
|
||||
include guard named <code>_BITS_ATOMICITY_H</code>. It should define one
|
||||
include guard named <code>_GLIBCXX_ATOMICITY_H</code>. It should define one
|
||||
type, and two functions.
|
||||
|
||||
<p>The type is <code>_Atomic_word</code>. Here is the version used on IRIX:
|
||||
|
@ -9,7 +9,7 @@
|
||||
@setchapternewpage odd
|
||||
|
||||
@copying
|
||||
Copyright @copyright{} 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright @copyright{} 2000, 2001, 2002, 2003 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.2 or
|
||||
@ -74,6 +74,9 @@ In addition, you should try to verify that the C++ compiler generally
|
||||
works. It is difficult to test the C++ compiler without a working
|
||||
library, but you should at least try some minimal test cases.
|
||||
|
||||
(Note that what we think of as a ``target,'' the library refers to as
|
||||
a ``host.'' The comment at the top of @file{configure.in} explains why.)
|
||||
|
||||
Here are the primary steps required to port the library:
|
||||
|
||||
@menu
|
||||
@ -106,7 +109,7 @@ directory. The important information is that there needs to be a
|
||||
directory under @file{config/os} to store the files for your operating
|
||||
system.
|
||||
|
||||
You might have to change the @file{configure.target} file to ensure that
|
||||
You might have to change the @file{configure.host} file to ensure that
|
||||
your new directory is activated. Look for the switch statement that sets
|
||||
@code{os_include_dir}, and add a pattern to handle your operating system
|
||||
if the default will not suffice. The switch statement switches on only
|
||||
@ -150,45 +153,42 @@ need to define. You will need to add them to the
|
||||
target. It will not work to simply define these macros in
|
||||
@file{os_defines.h}.
|
||||
|
||||
At this time, there are a few libstdc++-v3-specific macro which may be
|
||||
defined. @code{_G_USING_THUNKS} may be defined to 0 to express that the
|
||||
port doesn't use thunks (although it is unclear that this is still
|
||||
useful since libio support isn't currently working and the g++ v3 ABI
|
||||
invalidates the assumption that some ports don't use thunks).
|
||||
At this time, there are a few libstdc++-v3-specific macros which may be
|
||||
defined:
|
||||
|
||||
@code{_GLIBCPP_USE_C99_CHECK} may be defined to 1 to check C99
|
||||
@code{_GLIBCXX_USE_C99_CHECK} may be defined to 1 to check C99
|
||||
function declarations (which are not covered by specialization below)
|
||||
found in system headers against versions found in the library headers
|
||||
derived from the standard.
|
||||
|
||||
@code{_GLIBCPP_USE_C99_DYNAMIC} may be defined to an expression that
|
||||
@code{_GLIBCXX_USE_C99_DYNAMIC} may be defined to an expression that
|
||||
yields 0 if and only if the system headers are exposing proper support
|
||||
for C99 functions (which are not covered by specialization below). If
|
||||
defined, it must be 0 while bootstrapping the compiler/rebuilding the
|
||||
library.
|
||||
|
||||
@code{_GLIBCPP_USE_C99_LONG_LONG_CHECK} may be defined to 1 to check
|
||||
@code{_GLIBCXX_USE_C99_LONG_LONG_CHECK} may be defined to 1 to check
|
||||
the set of C99 long long function declarations found in system headers
|
||||
against versions found in the library headers derived from the
|
||||
standard.
|
||||
|
||||
@code{_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC} may be defined to an
|
||||
@code{_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC} may be defined to an
|
||||
expression that yields 0 if and only if the system headers are
|
||||
exposing proper support for the set of C99 long long functions. If
|
||||
defined, it must be 0 while bootstrapping the compiler/rebuilding the
|
||||
library.
|
||||
|
||||
@code{_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC} may be defined to an
|
||||
@code{_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC} may be defined to an
|
||||
expression that yields 0 if and only if the system headers
|
||||
are exposing proper support for the related set of macros. If defined,
|
||||
it must be 0 while bootstrapping the compiler/rebuilding the library.
|
||||
|
||||
@code{_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK} may be defined
|
||||
@code{_GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_CHECK} may be defined
|
||||
to 1 to check the related set of function declarations found in system
|
||||
headers against versions found in the library headers derived from
|
||||
the standard.
|
||||
|
||||
@code{_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC} may be defined
|
||||
@code{_GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC} may be defined
|
||||
to an expression that yields 0 if and only if the system headers
|
||||
are exposing proper support for the related set of functions. If defined,
|
||||
it must be 0 while bootstrapping the compiler/rebuilding the library.
|
||||
@ -197,8 +197,8 @@ Finally, you should bracket the entire file in an include-guard, like
|
||||
this:
|
||||
|
||||
@example
|
||||
#ifndef _GLIBCPP_OS_DEFINES
|
||||
#define _GLIBCPP_OS_DEFINES
|
||||
#ifndef _GLIBCXX_OS_DEFINES
|
||||
#define _GLIBCXX_OS_DEFINES
|
||||
...
|
||||
#endif
|
||||
@end example
|
||||
@ -222,14 +222,14 @@ setup files without explicit help.
|
||||
|
||||
We recommend that for a target triplet @code{<CPU>-<vendor>-<OS>}, you
|
||||
name your configuration directory @file{config/cpu/<CPU>}. If you do this,
|
||||
the configury will find the directory itself. Otherwise you will need to
|
||||
edit the @file{configure.target} file and, in the switch statement that sets
|
||||
the configury will find the directory by itself. Otherwise you will need to
|
||||
edit the @file{configure.host} file and, in the switch statement that sets
|
||||
@code{cpu_include_dir}, add a pattern to handle your chip.
|
||||
|
||||
Note that some chip families share a single configuration directory, for
|
||||
example, @code{alpha}, @code{alphaev5}, and @code{alphaev6} all use the
|
||||
@file{config/cpu/alpha} directory, and there is an entry in the
|
||||
@file{configure.target} switch statement to handle this.
|
||||
@file{configure.host} switch statement to handle this.
|
||||
|
||||
The @code{cpu_include_dir} sets default locations for the files controlling
|
||||
@ref{Thread safety} and @ref{Numeric limits}, if the defaults are not
|
||||
@ -474,14 +474,14 @@ see the @file{atomicity.h} file for IRIX or IA64.
|
||||
Alternatively, if the primitives are more closely related to the OS
|
||||
than they are to the CPU, you can put the @file{atomicity.h} file in
|
||||
the @ref{Operating system} directory instead. In this case, you must
|
||||
edit @file{configure.target}, and in the switch statement that handles
|
||||
edit @file{configure.host}, and in the switch statement that handles
|
||||
operating systems, override the @code{ATOMICITYH} variable to point to
|
||||
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{atomicity.h} itself. This file should be wrapped in an
|
||||
include guard named @code{_BITS_ATOMICITY_H}. It should define one
|
||||
include guard named @code{_GLIBCXX_ATOMICITY_H}. It should define one
|
||||
type, and two functions.
|
||||
|
||||
The type is @code{_Atomic_word}. Here is the version used on IRIX:
|
||||
|
@ -37,9 +37,16 @@ toolexeclib_LTLIBRARIES = libstdc++.la
|
||||
|
||||
# Symbol versioning for shared libraries.
|
||||
if GLIBCXX_BUILD_VERSIONED_SHLIB
|
||||
port_specific_symbol_file = @port_specific_symbol_file@
|
||||
version_arg = -Wl,--version-script=libstdc++-symbol.ver
|
||||
libstdc++-symbol.ver: ${glibcxx_srcdir}/@SYMVER_MAP@
|
||||
@LN_S@ ${glibcxx_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver || true
|
||||
cp ${glibcxx_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver
|
||||
if test "x${port_specific_symbol_file}" != x; then \
|
||||
sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
|
||||
sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
|
||||
cat tmp.top $(port_specific_symbol_file) tmp.bottom > $@; \
|
||||
rm tmp.top tmp.bottom; \
|
||||
fi
|
||||
else
|
||||
version_arg =
|
||||
libstdc++-symbol.ver:
|
||||
@ -106,7 +113,7 @@ time_members.cc: ${glibcxx_srcdir}/@CTIME_CC@
|
||||
# particular host, but with ad hoc naming rules.
|
||||
host_sources_extra = \
|
||||
basic_file.cc \
|
||||
c++locale.cc
|
||||
c++locale.cc
|
||||
|
||||
c++locale.cc: ${glibcxx_srcdir}/@CLOCALE_CC@
|
||||
@LN_S@ ${glibcxx_srcdir}/@CLOCALE_CC@ ./$@ || true
|
||||
@ -157,7 +164,7 @@ libstdc___la_DEPENDENCIES = libstdc++-symbol.ver $(libstdc___la_LIBADD)
|
||||
|
||||
libstdc___la_LDFLAGS = \
|
||||
-version-info @libtool_VERSION@ ${version_arg} \
|
||||
-lm @LIBUNWIND_FLAG@
|
||||
-lm @LIBUNWIND_FLAG@
|
||||
|
||||
|
||||
# Use special rules for the deprecated source files so that they find
|
||||
@ -188,13 +195,13 @@ demangle.o: demangle.cc
|
||||
# modified in a per-library or per-sub-library way. Need to manually
|
||||
# set this option because CONFIG_CXXFLAGS has to be after
|
||||
# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
|
||||
# as the occasion call for it.
|
||||
# as the occasion calls for it.
|
||||
AM_CXXFLAGS = \
|
||||
-fno-implicit-templates \
|
||||
$(LIBSUPCXX_CXXFLAGS) \
|
||||
$(WARN_CXXFLAGS) \
|
||||
$(OPTIMIZE_CXXFLAGS) \
|
||||
$(CONFIG_CXXFLAGS)
|
||||
$(CONFIG_CXXFLAGS)
|
||||
|
||||
|
||||
# libstdc++ libtool notes
|
||||
@ -216,7 +223,7 @@ AM_CXXFLAGS = \
|
||||
# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
|
||||
# attempt to infer which configuration to use
|
||||
LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS)
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS)
|
||||
|
||||
# 3) We'd have a problem when building the shared libstdc++ object if
|
||||
# the rules automake generates would be used. We cannot allow g++ to
|
||||
@ -234,13 +241,13 @@ all-local: build_debug
|
||||
install-data-local: install_debug
|
||||
else
|
||||
all-local:
|
||||
install-data-local:
|
||||
install-data-local:
|
||||
endif
|
||||
|
||||
debugdir = debug
|
||||
|
||||
# Build parallel set of debug objects here.
|
||||
stamp-debug:
|
||||
stamp-debug:
|
||||
if test ! -d ${debugdir}; then \
|
||||
mkdir -p ${debugdir}; \
|
||||
(cd ${debugdir}; \
|
||||
@ -251,12 +258,12 @@ stamp-debug:
|
||||
-e 's/install-data-local: install_debug/install-data-local:/' \
|
||||
< ../Makefile > Makefile) ; \
|
||||
fi; \
|
||||
echo `date` > stamp-debug;
|
||||
echo `date` > stamp-debug;
|
||||
|
||||
build_debug: stamp-debug
|
||||
(cd ${debugdir} && $(MAKE) CXXFLAGS='@DEBUG_FLAGS@' all)
|
||||
|
||||
# Install debug library here.
|
||||
install_debug:
|
||||
install_debug:
|
||||
(cd ${debugdir} && $(MAKE) \
|
||||
toolexeclibdir=@glibcxx_toolexeclibdir@/debug install)
|
||||
|
@ -147,7 +147,10 @@ glibcxx_builddir = @glibcxx_builddir@
|
||||
toolexecdir = @glibcxx_toolexecdir@
|
||||
toolexeclibdir = @glibcxx_toolexeclibdir@
|
||||
toolexeclib_LTLIBRARIES = libstdc++.la
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@version_arg = @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@-Wl,--version-script=libstdc++-symbol.ver
|
||||
|
||||
# Symbol versioning for shared libraries.
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@port_specific_symbol_file = @port_specific_symbol_file@
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@version_arg = -Wl,--version-script=libstdc++-symbol.ver
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@version_arg =
|
||||
|
||||
# Compile flags that should be constant throughout the build, both for
|
||||
@ -156,13 +159,11 @@ OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
|
||||
|
||||
# These bits are all figured out from configure. Look in acinclude.m4
|
||||
# or configure.in to see how they are set. See GLIBCXX_EXPORT_FLAGS
|
||||
CONFIG_CXXFLAGS = \
|
||||
@SECTION_FLAGS@ @EXTRA_CXX_FLAGS@
|
||||
CONFIG_CXXFLAGS = @SECTION_FLAGS@ @EXTRA_CXX_FLAGS@
|
||||
|
||||
|
||||
# Warning flags to use.
|
||||
WARN_CXXFLAGS = \
|
||||
@WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
|
||||
WARN_CXXFLAGS = @WARN_FLAGS@ $(WERROR) -fdiagnostics-show-location=once
|
||||
|
||||
|
||||
# Use common includes from acinclude.m4/GLIBCXX_EXPORT_INCLUDES
|
||||
@ -171,78 +172,33 @@ LIBMATH_INCLUDES = @LIBMATH_INCLUDES@
|
||||
LIBSUPCXX_INCLUDES = @LIBSUPCXX_INCLUDES@
|
||||
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
|
||||
|
||||
INCLUDES = \
|
||||
-nostdinc++ \
|
||||
$(GLIBCXX_INCLUDES) \
|
||||
$(LIBSUPCXX_INCLUDES) $(LIBMATH_INCLUDES) \
|
||||
$(TOPLEVEL_INCLUDES)
|
||||
INCLUDES = -nostdinc++ $(GLIBCXX_INCLUDES) $(LIBSUPCXX_INCLUDES) $(LIBMATH_INCLUDES) $(TOPLEVEL_INCLUDES)
|
||||
|
||||
|
||||
# Source files linked in via configuration/make substitution for a
|
||||
# particular host.
|
||||
host_sources = \
|
||||
codecvt_members.cc \
|
||||
collate_members.cc \
|
||||
ctype_members.cc \
|
||||
messages_members.cc \
|
||||
monetary_members.cc \
|
||||
numeric_members.cc \
|
||||
time_members.cc
|
||||
host_sources = codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc
|
||||
|
||||
|
||||
# Source files linked in via configuration/make substitution for a
|
||||
# particular host, but with ad hoc naming rules.
|
||||
host_sources_extra = \
|
||||
basic_file.cc \
|
||||
c++locale.cc
|
||||
host_sources_extra = basic_file.cc c++locale.cc
|
||||
|
||||
|
||||
# Sources present in the src directory.
|
||||
sources = \
|
||||
allocator-inst.cc \
|
||||
codecvt.cc \
|
||||
complex_io.cc \
|
||||
concept-inst.cc \
|
||||
ctype.cc \
|
||||
demangle.cc \
|
||||
ext-inst.cc \
|
||||
fstream-inst.cc \
|
||||
functexcept.cc \
|
||||
globals.cc \
|
||||
io-inst.cc \
|
||||
ios.cc \
|
||||
istream-inst.cc \
|
||||
limits.cc \
|
||||
locale.cc \
|
||||
locale-inst.cc \
|
||||
localename.cc \
|
||||
misc-inst.cc \
|
||||
ostream-inst.cc \
|
||||
sstream-inst.cc \
|
||||
stdexcept.cc \
|
||||
streambuf-inst.cc \
|
||||
string-inst.cc \
|
||||
strstream.cc \
|
||||
valarray-inst.cc \
|
||||
wstring-inst.cc \
|
||||
${host_sources} \
|
||||
${host_sources_extra}
|
||||
sources = allocator-inst.cc codecvt.cc complex_io.cc concept-inst.cc ctype.cc demangle.cc ext-inst.cc fstream-inst.cc functexcept.cc globals.cc io-inst.cc ios.cc istream-inst.cc limits.cc locale.cc locale-inst.cc localename.cc misc-inst.cc ostream-inst.cc sstream-inst.cc stdexcept.cc streambuf-inst.cc string-inst.cc strstream.cc valarray-inst.cc wstring-inst.cc ${host_sources} ${host_sources_extra}
|
||||
|
||||
|
||||
VPATH = $(top_srcdir)/src:$(top_srcdir)
|
||||
|
||||
libstdc___la_SOURCES = $(sources)
|
||||
|
||||
libstdc___la_LIBADD = \
|
||||
$(top_builddir)/libmath/libmath.la \
|
||||
$(top_builddir)/libsupc++/libsupc++convenience.la
|
||||
libstdc___la_LIBADD = $(top_builddir)/libmath/libmath.la $(top_builddir)/libsupc++/libsupc++convenience.la
|
||||
|
||||
|
||||
libstdc___la_DEPENDENCIES = libstdc++-symbol.ver $(libstdc___la_LIBADD)
|
||||
|
||||
libstdc___la_LDFLAGS = \
|
||||
-version-info @libtool_VERSION@ ${version_arg} \
|
||||
-lm @LIBUNWIND_FLAG@
|
||||
libstdc___la_LDFLAGS = -version-info @libtool_VERSION@ ${version_arg} -lm @LIBUNWIND_FLAG@
|
||||
|
||||
|
||||
# Use special rules for the deprecated source files so that they find
|
||||
@ -253,13 +209,8 @@ GLIBCXX_INCLUDE_DIR = @glibcxx_builddir@/include
|
||||
# modified in a per-library or per-sub-library way. Need to manually
|
||||
# set this option because CONFIG_CXXFLAGS has to be after
|
||||
# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
|
||||
# as the occasion call for it.
|
||||
AM_CXXFLAGS = \
|
||||
-fno-implicit-templates \
|
||||
$(LIBSUPCXX_CXXFLAGS) \
|
||||
$(WARN_CXXFLAGS) \
|
||||
$(OPTIMIZE_CXXFLAGS) \
|
||||
$(CONFIG_CXXFLAGS)
|
||||
# as the occasion calls for it.
|
||||
AM_CXXFLAGS = -fno-implicit-templates $(LIBSUPCXX_CXXFLAGS) $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS)
|
||||
|
||||
|
||||
# libstdc++ libtool notes
|
||||
@ -280,8 +231,7 @@ AM_CXXFLAGS = \
|
||||
# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
|
||||
# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
|
||||
# attempt to infer which configuration to use
|
||||
LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS)
|
||||
LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(AM_CXXFLAGS)
|
||||
|
||||
|
||||
# 3) We'd have a problem when building the shared libstdc++ object if
|
||||
@ -290,8 +240,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
|
||||
# course is problematic at this point. So, we get the top-level
|
||||
# directory to configure libstdc++-v3 to use gcc as the C++
|
||||
# compilation driver.
|
||||
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
|
||||
@OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
|
||||
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
|
||||
|
||||
|
||||
debugdir = debug
|
||||
@ -321,7 +270,7 @@ DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = gtar
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(libstdc___la_SOURCES)
|
||||
OBJECTS = $(libstdc___la_OBJECTS)
|
||||
@ -433,7 +382,7 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|| (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags $$unique $(LISP))
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
@ -540,7 +489,13 @@ distclean-generic clean-generic maintainer-clean-generic clean \
|
||||
mostlyclean distclean maintainer-clean
|
||||
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@libstdc++-symbol.ver: ${glibcxx_srcdir}/@SYMVER_MAP@
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ @LN_S@ ${glibcxx_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver || true
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ cp ${glibcxx_srcdir}/@SYMVER_MAP@ ./libstdc++-symbol.ver
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ if test "x${port_specific_symbol_file}" != x; then \
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ cat tmp.top $(port_specific_symbol_file) tmp.bottom > $@; \
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ rm tmp.top tmp.bottom; \
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ fi
|
||||
@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@libstdc++-symbol.ver:
|
||||
|
||||
codecvt_members.cc: ${glibcxx_srcdir}/@CCODECVT_CC@
|
||||
@ -593,10 +548,10 @@ demangle.o: demangle.cc
|
||||
@GLIBCXX_BUILD_DEBUG_TRUE@all-local: build_debug
|
||||
@GLIBCXX_BUILD_DEBUG_TRUE@install-data-local: install_debug
|
||||
@GLIBCXX_BUILD_DEBUG_FALSE@all-local:
|
||||
@GLIBCXX_BUILD_DEBUG_FALSE@install-data-local:
|
||||
@GLIBCXX_BUILD_DEBUG_FALSE@install-data-local:
|
||||
|
||||
# Build parallel set of debug objects here.
|
||||
stamp-debug:
|
||||
stamp-debug:
|
||||
if test ! -d ${debugdir}; then \
|
||||
mkdir -p ${debugdir}; \
|
||||
(cd ${debugdir}; \
|
||||
@ -607,13 +562,13 @@ stamp-debug:
|
||||
-e 's/install-data-local: install_debug/install-data-local:/' \
|
||||
< ../Makefile > Makefile) ; \
|
||||
fi; \
|
||||
echo `date` > stamp-debug;
|
||||
echo `date` > stamp-debug;
|
||||
|
||||
build_debug: stamp-debug
|
||||
(cd ${debugdir} && $(MAKE) CXXFLAGS='@DEBUG_FLAGS@' all)
|
||||
|
||||
# Install debug library here.
|
||||
install_debug:
|
||||
install_debug:
|
||||
(cd ${debugdir} && $(MAKE) \
|
||||
toolexeclibdir=@glibcxx_toolexeclibdir@/debug install)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user