-#o# Makefile for the include subdirectory of the GNU C++ Standard library.
+## Makefile for the include subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+## 2011
## Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
${bits_srcdir}/algorithmfwd.h \
${bits_srcdir}/allocator.h \
${bits_srcdir}/atomic_base.h \
- ${bits_srcdir}/atomicfwd_c.h \
- ${bits_srcdir}/atomicfwd_cxx.h \
${bits_srcdir}/atomic_0.h \
${bits_srcdir}/atomic_2.h \
${bits_srcdir}/basic_ios.h \
${bits_srcdir}/valarray_after.h \
${bits_srcdir}/vector.tcc
+bits_sup_srcdir = ${glibcxx_srcdir}/libsupc++
+bits_sup_headers = \
+ ${bits_sup_srcdir}/cxxabi_forced.h \
+ ${bits_sup_srcdir}/exception_defines.h \
+ ${bits_sup_srcdir}/exception_ptr.h \
+ ${bits_sup_srcdir}/hash_bytes.h \
+ ${bits_sup_srcdir}/nested_exception.h
+
backward_srcdir = ${glibcxx_srcdir}/include/backward
backward_builddir = ./backward
backward_headers = \
${tr1_srcdir}/wchar.h \
${tr1_srcdir}/wctype.h
-
-tr1_impl_srcdir = ${glibcxx_srcdir}/include/tr1_impl
-tr1_impl_builddir = ./tr1_impl
-tr1_impl_headers = \
- ${tr1_impl_srcdir}/array \
- ${tr1_impl_srcdir}/boost_sp_counted_base.h \
- ${tr1_impl_srcdir}/cctype \
- ${tr1_impl_srcdir}/cfenv \
- ${tr1_impl_srcdir}/cinttypes \
- ${tr1_impl_srcdir}/cmath \
- ${tr1_impl_srcdir}/complex \
- ${tr1_impl_srcdir}/cstdint \
- ${tr1_impl_srcdir}/cstdio \
- ${tr1_impl_srcdir}/cstdlib \
- ${tr1_impl_srcdir}/cwchar \
- ${tr1_impl_srcdir}/cwctype \
- ${tr1_impl_srcdir}/regex \
- ${tr1_impl_srcdir}/type_traits \
- ${tr1_impl_srcdir}/utility
-
decimal_srcdir = ${glibcxx_srcdir}/include/decimal
decimal_builddir = ./decimal
decimal_headers = \
c_compatibility_headers = \
${c_compatibility_srcdir}/complex.h \
${c_compatibility_srcdir}/fenv.h \
- ${c_compatibility_srcdir}/tgmath.h \
- ${c_compatibility_srcdir}/stdatomic.h
+ ${c_compatibility_srcdir}/tgmath.h
endif
if GLIBCXX_C_HEADERS_C
${debug_srcdir}/debug.h \
${debug_srcdir}/deque \
${debug_srcdir}/formatter.h \
+ ${debug_srcdir}/forward_list \
${debug_srcdir}/functions.h \
${debug_srcdir}/list \
${debug_srcdir}/map \
${debug_srcdir}/safe_iterator.h \
${debug_srcdir}/safe_iterator.tcc \
${debug_srcdir}/safe_sequence.h \
+ ${debug_srcdir}/safe_sequence.tcc \
${debug_srcdir}/set \
${debug_srcdir}/set.h \
${debug_srcdir}/string \
${profile_srcdir}/vector \
${profile_srcdir}/bitset \
${profile_srcdir}/deque \
+ ${profile_srcdir}/forward_list \
${profile_srcdir}/list \
${profile_srcdir}/map \
${profile_srcdir}/map.h \
${profile_impl_srcdir}/profiler_list_to_vector.h \
${profile_impl_srcdir}/profiler_list_to_slist.h
-# Some of the different "C" header models need extra files.
# Some "C" header schemes require the "C" compatibility headers.
# For --enable-cheaders=c_std
-if GLIBCXX_C_HEADERS_EXTRA
-c_base_headers_extra = ${c_base_srcdir}/cmath.tcc
-else
-c_base_headers_extra =
-endif
-
if GLIBCXX_C_HEADERS_COMPATIBILITY
c_compatibility_headers_extra = ${c_compatibility_headers}
else
# List of all timestamp files. By keeping only one copy of this list, both
# CLEANFILES and all-local are kept up-to-date.
allstamped = \
- stamp-std stamp-bits stamp-c_base stamp-c_base_extra \
- stamp-c_compatibility stamp-backward stamp-ext stamp-pb \
- stamp-tr1 stamp-tr1-impl stamp-decimal stamp-debug \
- stamp-parallel stamp-profile stamp-profile-impl stamp-host
+ stamp-std stamp-bits stamp-bits-sup stamp-c_base stamp-c_compatibility \
+ stamp-backward stamp-ext stamp-pb stamp-tr1 stamp-decimal \
+ stamp-debug stamp-parallel stamp-profile stamp-profile-impl \
+ stamp-host
# List of all files that are created by explicit building, editing, or
# catenation.
@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-bits
+stamp-bits-sup: stamp-bits ${bits_sup_headers}
+ @-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
+ @$(STAMP) stamp-bits-sup
+
stamp-c_base: ${c_base_headers}
@-mkdir -p ${c_base_builddir}
@-cd ${c_base_builddir} && $(LN_S) $? . 2>/dev/null
@-cd ${tr1_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-tr1
-stamp-tr1-impl: ${tr1_impl_headers}
- @-mkdir -p ${tr1_impl_builddir}
- @-cd ${tr1_impl_builddir} && $(LN_S) $? . 2>/dev/null
- @$(STAMP) stamp-tr1-impl
-
stamp-decimal: ${decimal_headers}
@-mkdir -p ${decimal_builddir}
@-cd ${decimal_builddir} && $(LN_S) $? . 2>/dev/null
echo 0 > stamp-namespace-version
endif
+if ENABLE_EXTERN_TEMPLATE
+stamp-extern-template:
+ echo 1 > stamp-extern-template
+else
+stamp-extern-template:
+ echo 0 > stamp-extern-template
+endif
+
if ENABLE_VISIBILITY
stamp-visibility:
echo 1 > stamp-visibility
stamp-${host_alias} \
${toplevel_srcdir}/gcc/DATESTAMP \
stamp-namespace-version \
- stamp-visibility
+ stamp-visibility \
+ stamp-extern-template
@date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\
- nsa_version=`cat stamp-namespace-version` ;\
+ ns_version=`cat stamp-namespace-version` ;\
visibility=`cat stamp-visibility` ;\
+ externtemplate=`cat stamp-extern-template` ;\
ldbl_compat='s,g,g,' ;\
grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \
${CONFIG_HEADER} > /dev/null 2>&1 \
&& ldbl_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_COMPAT 1,' ;\
sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
- -e "s,define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION, define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION $$nsa_version," \
+ -e "s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION $$ns_version," \
-e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
+ -e "s,define _GLIBCXX_EXTERN_TEMPLATE, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
-e "$$ldbl_compat" \
< ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
install-freestanding-headers:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
$(mkinstalldirs) $(DESTDIR)${host_installdir}
- for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h; do \
+ for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \
+ ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
$(INSTALL_DATA) ${std_builddir}/limits $(DESTDIR)${gxx_include_dir}/${std_builddir}
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir}
for file in ${tr1_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_impl_builddir}
- for file in ${tr1_impl_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_impl_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${decimal_builddir}
for file in ${decimal_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${decimal_builddir}; done
# developer tries to create them via make in the include build
# directory. (This is more of an example of how this kind of rule can
# be made.)
-.PRECIOUS: $(std_headers) $(c_base_headers) $(tr1_headers) $(tr1_impl_headers)
+.PRECIOUS: $(std_headers) $(c_base_headers) $(tr1_headers)
$(decimal_headers) $(ext_headers)
$(std_headers): ; @:
$(c_base_headers): ; @:
$(tr1_headers): ; @:
-$(tr1_impl_headers): ; @:
$(decimal_headers): ; @:
$(ext_headers): ; @: