diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-02-07 22:23:58 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-02-07 22:23:58 +0000 |
commit | d7fbb98b08d28cb403fcfcb3162b4792aa64116b (patch) | |
tree | b8066f235ec23f5dc04e5951f1059343bd4db2ac /libstdc++-v3/src/Makefile.am | |
parent | 5925d47a9678680da55feb29ec3f65f045e7408a (diff) | |
download | gcc-d7fbb98b08d28cb403fcfcb3162b4792aa64116b.tar.gz |
2006-02-07 Jakub Jelinek <jakub@redhat.com>
Benjamin Kosnik <bkoz@redhat.com>
* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
If true, set also port_specific_symbol_files and create
as_symver_specs.
(GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
* configure: Rebuilt.
* config.h.in: Rebuilt.
* config/os/gnu-linux/ldbl-extra.ver: New file.
* config/abi/pre/gnu.ver: Make sure no __float128 symbols are
exported.
* include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
_GLIBCXX_END_LDBL_NAMESPACE): Define.
* include/bits/localefwd.h: Use them to conditionally scope facets.
* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
* include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
(std::money_get::__do_get, std::money_put::__do_put,
std::num_get::__do_get, std::num_put::__do_put): New
specializations.
* include/Makefile.am: Conditionally define
_GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
* include/Makefile.in: Regenerate.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
_GLIBCXX_SYNC_ID): Define, use them.
* src/compatibility-ldbl.cc: New file.
* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
symbols.
* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
* src/Makefile.am (libstdc++-symbol.ver): Append instead of
insert in the middle if port specific symbol file requests it.
(ldbl_compat_sources): New variable.
(sources): Use it.
(compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
* src/Makefile.in: Rebuilt.
* testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110725 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/src/Makefile.am')
-rw-r--r-- | libstdc++-v3/src/Makefile.am | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 973e75ff157..b3ada6aeddb 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -33,10 +33,15 @@ libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \ $(port_specific_symbol_files) cp ${glibcxx_srcdir}/$(SYMVER_FILE) ./libstdc++-symbols.ver if test "x$(port_specific_symbol_files)" != 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_files) tmp.bottom > $@; \ - rm tmp.top tmp.bottom; \ + if grep '^# Appended to version file.' \ + $(port_specific_symbol_files) /dev/null > /dev/null 2>&1; then \ + cat $(port_specific_symbol_files) >> $@; \ + else \ + sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \ + sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \ + cat tmp.top $(port_specific_symbol_files) tmp.bottom > $@; \ + rm tmp.top tmp.bottom; \ + fi; \ fi if ENABLE_SYMVERS_GNU @@ -115,6 +120,12 @@ c++locale.cc: ${glibcxx_srcdir}/$(CLOCALE_CC) basic_file.cc: ${glibcxx_srcdir}/$(BASIC_FILE_CC) $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_CC) ./$@ || true +if GLIBCXX_LDBL_COMPAT +ldbl_compat_sources = compatibility-ldbl.cc +else +ldbl_compat_sources = +endif + # Sources present in the src directory. sources = \ bitmap_allocator.cc \ @@ -162,7 +173,8 @@ sources = \ wlocale-inst.cc \ wstring-inst.cc \ ${host_sources} \ - ${host_sources_extra} + ${host_sources_extra} \ + ${ldbl_compat_sources} VPATH = $(top_srcdir)/src:$(top_srcdir) @@ -193,6 +205,15 @@ concept-inst.lo: concept-inst.cc concept-inst.o: concept-inst.cc $(CXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $< +if GLIBCXX_LDBL_COMPAT +# Use special rules for compatibility-ldbl.cc compilation, as we need to +# pass -mlong-double-64. +compatibility-ldbl.lo: compatibility-ldbl.cc + $(LTCXXCOMPILE) -mlong-double-64 -c $< +compatibility-ldbl.o: compatibility-ldbl.cc + $(CXXCOMPILE) -mlong-double-64 -c $< +endif + # AM_CXXFLAGS needs to be in each subdirectory so that it can be # modified in a per-library or per-sub-library way. Need to manually # set this option because CONFIG_CXXFLAGS has to be after |