diff options
Diffstat (limited to 'libstdc++-v3/src/Makefile.am')
-rw-r--r-- | libstdc++-v3/src/Makefile.am | 53 |
1 files changed, 46 insertions, 7 deletions
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 47f8ceea2c5..65486190212 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -32,6 +32,7 @@ if ENABLE_SYMVERS libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \ $(port_specific_symbol_files) cp ${glibcxx_srcdir}/$(SYMVER_FILE) ./libstdc++-symbols.ver + chmod +w ./libstdc++-symbols.ver if test "x$(port_specific_symbol_files)" != x; then \ if grep '^# Appended to version file.' \ $(port_specific_symbol_files) /dev/null > /dev/null 2>&1; then \ @@ -111,8 +112,7 @@ atomicity.cc: ${atomicity_file} # 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 + basic_file.cc c++locale.cc ${ldbl_compat_sources} ${parallel_sources} c++locale.cc: ${glibcxx_srcdir}/$(CLOCALE_CC) $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_CC) ./$@ || true @@ -120,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 ENABLE_PARALLEL +parallel_sources = parallel_list.cc parallel_settings.cc +else +parallel_sources = +endif + if GLIBCXX_LDBL_COMPAT ldbl_compat_sources = compatibility-ldbl.cc else @@ -136,21 +142,26 @@ sources = \ complex_io.cc \ ctype.cc \ debug.cc \ - debug_list.cc \ functexcept.cc \ + hash.cc \ + hash_c++0x.cc \ globals_io.cc \ + hashtable.cc \ + hashtable_c++0x.cc \ ios.cc \ ios_failure.cc \ ios_init.cc \ ios_locale.cc \ limits.cc \ list.cc \ + debug_list.cc \ locale.cc \ locale_init.cc \ locale_facets.cc \ localename.cc \ stdexcept.cc \ strstream.cc \ + system_error.cc \ tree.cc \ allocator-inst.cc \ concept-inst.cc \ @@ -171,10 +182,10 @@ sources = \ wlocale-inst.cc \ wstring-inst.cc \ ${host_sources} \ - ${host_sources_extra} \ - ${ldbl_compat_sources} + ${host_sources_extra} -VPATH = $(top_srcdir)/src:$(top_srcdir) +vpath % $(top_srcdir)/src +vpath % $(top_srcdir) libstdc___la_SOURCES = $(sources) @@ -203,6 +214,34 @@ concept-inst.lo: concept-inst.cc concept-inst.o: concept-inst.cc $(CXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $< +# Use special rules for parallel mode compilation. +PARALLEL_FLAGS = -fopenmp -D_GLIBCXX_PARALLEL -I$(glibcxx_builddir)/../libgomp +parallel_list.lo: parallel_list.cc + $(LTCXXCOMPILE) $(PARALLEL_FLAGS) -c $< +parallel_list.o: parallel_list.cc + $(CXXCOMPILE) $(PARALLEL_FLAGS) -c $< + +parallel_settings.lo: parallel_settings.cc + $(LTCXXCOMPILE) $(PARALLEL_FLAGS) -c $< +parallel_settings.o: parallel_settings.cc + $(CXXCOMPILE) $(PARALLEL_FLAGS) -c $< + +# Use special rules for the C++0x sources so that the proper flags are passed. +system_error.lo: system_error.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +system_error.o: system_error.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + +hash_c++0x.lo: hash_c++0x.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +hash_c++0x.o: hash_c++0x.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + +hashtable_c++0x.lo: hashtable_c++0x.cc + $(LTCXXCOMPILE) -std=gnu++0x -c $< +hashtable_c++0x.o: hashtable_c++0x.cc + $(CXXCOMPILE) -std=gnu++0x -c $< + if GLIBCXX_LDBL_COMPAT # Use special rules for compatibility-ldbl.cc compilation, as we need to # pass -mlong-double-64. @@ -268,7 +307,7 @@ endif debugdir = debug -# Build parallel set of debug objects here. +# Build a set of debug objects here. stamp-debug: if test ! -d ${debugdir}; then \ mkdir -p ${debugdir}; \ |