OSDN Git Service

2010-03-02 Paolo Carlini <paolo.carlini@oracle.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / include / Makefile.am
index 5d8358b..23aad14 100644 (file)
@@ -1,6 +1,6 @@
-## Makefile for the include subdirectory of the GNU C++ Standard library.
+#o# Makefile for the include subdirectory of the GNU C++ Standard library.
 ##
-## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
 ## Free Software Foundation, Inc.
 ##
 ## This file is part of the libstdc++ version 3 distribution.
@@ -9,7 +9,7 @@
 ## This file is part of the GNU ISO C++ Library.  This library is free
 ## software; you can redistribute it and/or modify it under the
 ## terms of the GNU General Public License as published by the
-## Free Software Foundation; either version 2, or (at your option)
+## Free Software Foundation; either version 3, or (at your option)
 ## any later version.
 
 ## This library is distributed in the hope that it will be useful,
@@ -18,9 +18,8 @@
 ## GNU General Public License for more details.
 
 ## You should have received a copy of the GNU General Public License along
-## with this library; see the file COPYING.  If not, write to the Free
-## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-## USA.
+## with this library; see the file COPYING3.  If not see
+## <http://www.gnu.org/licenses/>.
 
 include $(top_srcdir)/fragment.am
 
@@ -30,13 +29,16 @@ std_builddir = .
 std_headers = \
        ${std_srcdir}/algorithm \
        ${std_srcdir}/array \
+       ${std_srcdir}/atomic \
        ${std_srcdir}/bitset \
-       ${std_srcdir}/c++0x_warning.h \
+       ${std_srcdir}/chrono \
        ${std_srcdir}/complex \
        ${std_srcdir}/condition_variable \
        ${std_srcdir}/deque \
+       ${std_srcdir}/forward_list \
        ${std_srcdir}/fstream \
        ${std_srcdir}/functional \
+       ${std_srcdir}/future \
        ${std_srcdir}/iomanip \
        ${std_srcdir}/ios \
        ${std_srcdir}/iosfwd \
@@ -62,6 +64,7 @@ std_headers = \
        ${std_srcdir}/streambuf \
        ${std_srcdir}/string \
        ${std_srcdir}/system_error \
+       ${std_srcdir}/thread \
        ${std_srcdir}/tuple \
        ${std_srcdir}/type_traits \
        ${std_srcdir}/unordered_map \
@@ -75,23 +78,31 @@ bits_builddir = ./bits
 bits_headers = \
         ${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}/basic_ios.tcc \
        ${bits_srcdir}/basic_string.h \
        ${bits_srcdir}/basic_string.tcc \
        ${bits_srcdir}/boost_concept_check.h \
-       ${bits_srcdir}/boost_sp_shared_count.h \
+       ${bits_srcdir}/c++0x_warning.h \
        ${bits_srcdir}/char_traits.h \
        ${bits_srcdir}/codecvt.h \
        ${bits_srcdir}/concept_check.h \
        ${bits_srcdir}/cpp_type_traits.h \
        ${bits_srcdir}/deque.tcc \
+       ${bits_srcdir}/forward_list.h \
+       ${bits_srcdir}/forward_list.tcc \
        ${bits_srcdir}/fstream.tcc \
        ${bits_srcdir}/functexcept.h \
        ${bits_srcdir}/functional_hash.h \
        ${bits_srcdir}/gslice.h \
        ${bits_srcdir}/gslice_array.h \
        ${bits_srcdir}/hashtable.h \
+       ${bits_srcdir}/hashtable_policy.h \
        ${bits_srcdir}/indirect_array.h \
        ${bits_srcdir}/ios_base.h \
        ${bits_srcdir}/istream.tcc \
@@ -108,8 +119,12 @@ bits_headers = \
        ${bits_srcdir}/ostream.tcc \
        ${bits_srcdir}/ostream_insert.h \
        ${bits_srcdir}/postypes.h \
+       ${bits_srcdir}/random.h \
+       ${bits_srcdir}/random.tcc \
        ${bits_srcdir}/stream_iterator.h \
        ${bits_srcdir}/streambuf_iterator.h \
+       ${bits_srcdir}/shared_ptr.h \
+       ${bits_srcdir}/shared_ptr_base.h \
        ${bits_srcdir}/slice_array.h \
        ${bits_srcdir}/sstream.tcc \
        ${bits_srcdir}/stl_algo.h \
@@ -140,6 +155,8 @@ bits_headers = \
        ${bits_srcdir}/streambuf.tcc \
        ${bits_srcdir}/stringfwd.h \
        ${bits_srcdir}/unique_ptr.h \
+       ${bits_srcdir}/unordered_map.h \
+       ${bits_srcdir}/unordered_set.h \
        ${bits_srcdir}/valarray_array.h \
        ${bits_srcdir}/valarray_array.tcc \
        ${bits_srcdir}/valarray_before.h \
@@ -479,10 +496,12 @@ ext_headers = \
        ${ext_srcdir}/atomicity.h \
        ${ext_srcdir}/array_allocator.h \
        ${ext_srcdir}/bitmap_allocator.h \
+       ${ext_srcdir}/cast.h \
        ${ext_srcdir}/codecvt_specializations.h \
        ${ext_srcdir}/concurrence.h \
        ${ext_srcdir}/debug_allocator.h \
        ${ext_srcdir}/enc_filebuf.h \
+       ${ext_srcdir}/extptr_allocator.h \
        ${ext_srcdir}/stdio_filebuf.h \
        ${ext_srcdir}/stdio_sync_filebuf.h \
        ${ext_srcdir}/functional \
@@ -494,6 +513,7 @@ ext_headers = \
        ${ext_srcdir}/numeric \
        ${ext_srcdir}/numeric_traits.h \
        ${ext_srcdir}/pod_char_traits.h \
+       ${ext_srcdir}/pointer.h \
        ${ext_srcdir}/pool_allocator.h \
        ${ext_srcdir}/rb_tree \
        ${ext_srcdir}/rope \
@@ -521,7 +541,6 @@ tr1_headers = \
        ${tr1_srcdir}/array \
        ${tr1_srcdir}/bessel_function.tcc \
        ${tr1_srcdir}/beta_function.tcc \
-       ${tr1_srcdir}/boost_sp_shared_count.h \
        ${tr1_srcdir}/ccomplex \
        ${tr1_srcdir}/cctype \
        ${tr1_srcdir}/cfenv \
@@ -550,6 +569,7 @@ tr1_headers = \
        ${tr1_srcdir}/gamma.tcc \
        ${tr1_srcdir}/hypergeometric.tcc \
        ${tr1_srcdir}/hashtable.h \
+       ${tr1_srcdir}/hashtable_policy.h \
        ${tr1_srcdir}/inttypes.h \
        ${tr1_srcdir}/limits.h \
        ${tr1_srcdir}/math.h \
@@ -559,8 +579,11 @@ tr1_headers = \
        ${tr1_srcdir}/poly_laguerre.tcc \
        ${tr1_srcdir}/legendre_function.tcc \
        ${tr1_srcdir}/random \
+       ${tr1_srcdir}/random.h \
+       ${tr1_srcdir}/random.tcc \
        ${tr1_srcdir}/regex \
        ${tr1_srcdir}/riemann_zeta.tcc \
+       ${tr1_srcdir}/shared_ptr.h \
        ${tr1_srcdir}/special_function_util.h \
        ${tr1_srcdir}/stdarg.h \
        ${tr1_srcdir}/stdbool.h \
@@ -570,8 +593,10 @@ tr1_headers = \
        ${tr1_srcdir}/tgmath.h \
        ${tr1_srcdir}/tuple \
        ${tr1_srcdir}/type_traits \
-       ${tr1_srcdir}/unordered_set \
        ${tr1_srcdir}/unordered_map \
+       ${tr1_srcdir}/unordered_map.h \
+       ${tr1_srcdir}/unordered_set \
+       ${tr1_srcdir}/unordered_set.h \
        ${tr1_srcdir}/utility \
        ${tr1_srcdir}/wchar.h \
        ${tr1_srcdir}/wctype.h
@@ -581,7 +606,6 @@ tr1_impl_srcdir = ${glibcxx_srcdir}/include/tr1_impl
 tr1_impl_builddir = ./tr1_impl
 tr1_impl_headers = \
        ${tr1_impl_srcdir}/array \
-       ${tr1_impl_srcdir}/boost_shared_ptr.h \
        ${tr1_impl_srcdir}/boost_sp_counted_base.h \
        ${tr1_impl_srcdir}/cctype \
        ${tr1_impl_srcdir}/cfenv \
@@ -593,18 +617,15 @@ tr1_impl_headers = \
        ${tr1_impl_srcdir}/cstdlib \
        ${tr1_impl_srcdir}/cwchar \
        ${tr1_impl_srcdir}/cwctype \
-       ${tr1_impl_srcdir}/functional \
-       ${tr1_impl_srcdir}/functional_hash.h \
-       ${tr1_impl_srcdir}/hashtable \
-       ${tr1_impl_srcdir}/hashtable_policy.h \
-       ${tr1_impl_srcdir}/random \
-       ${tr1_impl_srcdir}/random.tcc \
        ${tr1_impl_srcdir}/regex \
        ${tr1_impl_srcdir}/type_traits \
-       ${tr1_impl_srcdir}/unordered_map \
-       ${tr1_impl_srcdir}/unordered_set \
        ${tr1_impl_srcdir}/utility
 
+decimal_srcdir = ${glibcxx_srcdir}/include/decimal
+decimal_builddir = ./decimal
+decimal_headers = \
+       ${decimal_srcdir}/decimal \
+       ${decimal_srcdir}/decimal.h
 
 # This is the common subset of C++ files that all three "C" header models use.
 c_base_srcdir = $(C_INCLUDE_DIR)
@@ -624,7 +645,6 @@ c_base_headers = \
        ${c_base_srcdir}/csetjmp \
        ${c_base_srcdir}/csignal \
        ${c_base_srcdir}/cstdarg \
-       ${c_base_srcdir}/cstdatomic \
        ${c_base_srcdir}/cstdbool \
        ${c_base_srcdir}/cstddef \
        ${c_base_srcdir}/cstdint \
@@ -695,7 +715,6 @@ debug_headers = \
        ${debug_srcdir}/map.h \
        ${debug_srcdir}/multimap.h \
        ${debug_srcdir}/multiset.h \
-       ${debug_srcdir}/safe_association.h \
        ${debug_srcdir}/safe_base.h \
        ${debug_srcdir}/safe_iterator.h \
        ${debug_srcdir}/safe_iterator.tcc \
@@ -759,6 +778,39 @@ else
 parallel_headers =
 endif
 
+# Profile mode headers
+profile_srcdir = ${glibcxx_srcdir}/include/profile
+profile_builddir = ./profile
+profile_headers = \
+       ${profile_srcdir}/base.h \
+       ${profile_srcdir}/unordered_map \
+       ${profile_srcdir}/unordered_set \
+       ${profile_srcdir}/vector \
+       ${profile_srcdir}/bitset \
+       ${profile_srcdir}/deque \
+       ${profile_srcdir}/list \
+       ${profile_srcdir}/map \
+       ${profile_srcdir}/map.h \
+       ${profile_srcdir}/multimap.h \
+       ${profile_srcdir}/multiset.h \
+       ${profile_srcdir}/set \
+       ${profile_srcdir}/set.h \
+       ${profile_srcdir}/iterator_tracker.h
+profile_impl_srcdir = ${glibcxx_srcdir}/include/profile/impl
+profile_impl_builddir = ./profile/impl
+profile_impl_headers = \
+       ${profile_impl_srcdir}/profiler.h \
+       ${profile_impl_srcdir}/profiler_container_size.h \
+       ${profile_impl_srcdir}/profiler_hash_func.h \
+       ${profile_impl_srcdir}/profiler_hashtable_size.h \
+       ${profile_impl_srcdir}/profiler_map_to_unordered_map.h \
+       ${profile_impl_srcdir}/profiler_node.h \
+       ${profile_impl_srcdir}/profiler_state.h \
+       ${profile_impl_srcdir}/profiler_trace.h \
+       ${profile_impl_srcdir}/profiler_vector_size.h \
+       ${profile_impl_srcdir}/profiler_vector_to_list.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.
@@ -819,7 +871,7 @@ pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
 pch1_output_builddir = ${host_builddir}/stdc++.h.gch
 pch1_output_anchor = ${host_builddir}/stdc++.h
 pch1_output_installdir = ${host_installdir}/stdc++.h.gch
-pch1a_output = ${pch1_output_builddir}/O0g.gch
+pch1a_output = ${pch1_output_builddir}/O2ggnu++0x.gch
 pch1b_output = ${pch1_output_builddir}/O2g.gch
 pch1_output = ${pch1a_output} ${pch1b_output}
 
@@ -841,7 +893,7 @@ pch_output_dirs = \
        ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
 pch_output_anchors = \
        ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
-PCHFLAGS=-Winvalid-pch -x c++-header $(CXXFLAGS)
+PCHFLAGS=-x c++-header $(CXXFLAGS)
 if GLIBCXX_BUILD_PCH
 pch_build = ${pch_output}
 else
@@ -853,7 +905,8 @@ endif
 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-debug stamp-parallel stamp-host
+       stamp-tr1 stamp-tr1-impl 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.
@@ -967,6 +1020,11 @@ stamp-tr1-impl: ${tr1_impl_headers}
        @-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
+       @$(STAMP) stamp-decimal
+
 stamp-debug: ${debug_headers}
        @-mkdir -p ${debug_builddir}
        @-cd ${debug_builddir} && $(LN_S) $? . 2>/dev/null
@@ -977,6 +1035,16 @@ stamp-parallel: ${parallel_headers}
        @-cd ${parallel_builddir} && $(LN_S) $? . 2>/dev/null
        @$(STAMP) stamp-parallel
 
+stamp-profile: ${profile_headers}
+       @-mkdir -p ${profile_builddir}
+       @-cd ${profile_builddir} && $(LN_S) $? . 2>/dev/null
+       @$(STAMP) stamp-profile
+
+stamp-profile-impl: ${profile_impl_headers}
+       @-mkdir -p ${profile_impl_builddir}
+       @-cd ${profile_impl_builddir} && $(LN_S) $? . 2>/dev/null
+       @$(STAMP) stamp-profile-impl
+
 stamp-${host_alias}:
        @-mkdir -p ${host_builddir}
        @$(STAMP) stamp-${host_alias}
@@ -1088,7 +1156,8 @@ ${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcxx_thread_h} \
 # Build two precompiled C++ includes, stdc++.h.gch/*.gch
 ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
        -mkdir -p ${pch1_output_builddir}
-       $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@
+       $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g -std=gnu++0x ${pch1_source} \
+       -o $@
 
 ${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
        -mkdir -p ${pch1_output_builddir}
@@ -1184,6 +1253,9 @@ install-headers:
        $(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
        $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
        for file in ${c_base_headers}; do \
          $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
@@ -1204,13 +1276,19 @@ install-headers:
          $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${parallel_builddir};\
        for file in $$parallel_headers_install; do \
          $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${parallel_builddir}; done
+       $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${profile_builddir}
+       for file in ${profile_headers}; do \
+         $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${profile_builddir}; done
+       $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${profile_impl_builddir}
+       for file in ${profile_impl_headers}; do \
+         $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${profile_impl_builddir}; done
        $(mkinstalldirs) $(DESTDIR)${host_installdir}
        for file in ${host_headers} ${host_headers_extra} \
         ${thread_host_headers}; do \
          $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
 
 # By adding these files here, automake will remove them for 'make clean'
-CLEANFILES = ${pch_output} ${pch_output_anchors}
+CLEANFILES = ${pch_output} ${pch_output_anchors} stamp-host
 
 # To remove directories.
 clean-local:
@@ -1222,9 +1300,10 @@ clean-local:
 # 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)
-          $(ext_headers)
+          $(decimal_headers) $(ext_headers)
 $(std_headers): ; @:
 $(c_base_headers): ; @:
 $(tr1_headers): ; @:
 $(tr1_impl_headers): ; @:
+$(decimal_headers): ; @:
 $(ext_headers): ; @: