1 2SRC_CC += \ 3 c++98/basic_file.cc \ 4 codecvt_members.cc \ 5 ctype_configure_char.cc \ 6 ctype_members.cc \ 7 collate_members.cc \ 8 c++98/collate_members_cow.cc \ 9 messages_members.cc \ 10 c++98/messages_members_cow.cc \ 11 monetary_members.cc \ 12 c++98/monetary_members_cow.cc \ 13 numeric_members.cc \ 14 c++98/numeric_members_cow.cc \ 15 time_members.cc \ 16 c++98/allocator-inst.cc \ 17 c++98/bitmap_allocator.cc \ 18 c++98/codecvt.cc \ 19 c++98/compatibility-debug_list-2.cc \ 20 c++98/compatibility-debug_list.cc \ 21 c++98/compatibility-ldbl.cc \ 22 c++98/compatibility.cc \ 23 c++98/complex_io.cc \ 24 c++98/concept-inst.cc \ 25 c++98/cow-istream-string.cc \ 26 c++98/ext-inst.cc \ 27 c++98/globals_io.cc \ 28 c++98/hash_tr1.cc \ 29 c++98/hashtable_tr1.cc \ 30 c++98/ios_failure.cc \ 31 c++98/ios_init.cc \ 32 c++98/ios_locale.cc \ 33 c++98/istream.cc \ 34 c++98/istream-string.cc \ 35 c++98/list-aux-2.cc \ 36 c++98/list-aux.cc \ 37 c++98/list.cc \ 38 c++98/list_associated-2.cc \ 39 c++98/list_associated.cc \ 40 c++98/locale.cc \ 41 c++98/locale_facets.cc \ 42 c++98/locale_init.cc \ 43 c++98/localename.cc \ 44 c++98/math_stubs_float.cc \ 45 c++98/math_stubs_long_double.cc \ 46 c++98/misc-inst.cc \ 47 c++98/mt_allocator.cc \ 48 c++98/parallel_settings.cc \ 49 c++98/pool_allocator.cc \ 50 c++98/stdexcept.cc \ 51 c++98/streambuf.cc \ 52 c++98/strstream.cc \ 53 c++98/tree.cc \ 54 c++98/valarray.cc \ 55 c++11/chrono.cc \ 56 c++11/codecvt.cc \ 57 c++11/compatibility-atomic-c++0x.cc \ 58 c++11/compatibility-c++0x.cc \ 59 c++11/compatibility-condvar.cc \ 60 c++11/compatibility-thread-c++0x.cc \ 61 c++11/condition_variable.cc \ 62 c++11/cow-fstream-inst.cc \ 63 c++11/cow-locale_init.cc \ 64 c++11/cow-shim_facets.cc \ 65 c++11/cow-sstream-inst.cc \ 66 c++11/cow-stdexcept.cc \ 67 c++11/cow-string-inst.cc \ 68 c++11/cow-string-io-inst.cc \ 69 c++11/cow-wstring-inst.cc \ 70 c++11/cow-wstring-io-inst.cc \ 71 c++11/ctype.cc \ 72 c++11/cxx11-hash_tr1.cc \ 73 c++11/cxx11-ios_failure.cc \ 74 c++11/cxx11-locale-inst.cc \ 75 c++11/cxx11-shim_facets.cc \ 76 c++11/cxx11-stdexcept.cc \ 77 c++11/cxx11-wlocale-inst.cc \ 78 c++11/debug.cc \ 79 c++11/ext11-inst.cc \ 80 c++11/fstream-inst.cc \ 81 c++11/functexcept.cc \ 82 c++11/functional.cc \ 83 c++11/future.cc \ 84 c++11/hash_c++0x.cc \ 85 c++11/hashtable_c++0x.cc \ 86 c++11/ios.cc \ 87 c++11/ios-inst.cc \ 88 c++11/iostream-inst.cc \ 89 c++11/istream-inst.cc \ 90 c++11/limits.cc \ 91 c++11/locale-inst.cc \ 92 c++11/mutex.cc \ 93 c++11/ostream-inst.cc \ 94 c++11/placeholders.cc \ 95 c++11/random.cc \ 96 c++11/regex.cc \ 97 c++11/shared_ptr.cc \ 98 c++11/snprintf_lite.cc \ 99 c++11/sso_string.cc \ 100 c++11/sstream-inst.cc \ 101 c++11/streambuf-inst.cc \ 102 c++11/string-inst.cc \ 103 c++11/string-io-inst.cc \ 104 c++11/system_error.cc \ 105 c++11/thread.cc \ 106 c++11/wlocale-inst.cc \ 107 c++11/wstring-inst.cc \ 108 c++11/wstring-io-inst.cc \ 109 filesystem/dir.cc \ 110 filesystem/ops.cc \ 111 filesystem/path.cc \ 112 filesystem/cow-dir.cc \ 113 filesystem/cow-ops.cc \ 114 filesystem/cow-path.cc \ 115 c++17/fs_dir.cc \ 116 c++17/fs_ops.cc \ 117 c++17/fs_path.cc \ 118 c++17/memory_resource.cc \ 119 c++17/cow-fs_dir.cc \ 120 c++17/cow-fs_ops.cc \ 121 c++17/cow-fs_path.cc \ 122 c++17/ostream-inst.cc \ 123 c++17/string-inst.cc \ 124 c++17/cow-string-inst.cc \ 125 c++20/sstream-inst.cc 126 127 128CXXFLAGS_c++98/collate_members_cow.cc += -D_GLIBCXX_USE_CXX11_ABI=0 -fimplicit-templates 129CXXFLAGS_c++98/messages_members_cow.cc += -D_GLIBCXX_USE_CXX11_ABI=0 -fimplicit-templates 130CXXFLAGS_c++98/monetary_members_cow.cc += -D_GLIBCXX_USE_CXX11_ABI=0 -fimplicit-templates 131CXXFLAGS_c++98/numeric_members_cow.cc += -D_GLIBCXX_USE_CXX11_ABI=0 -fimplicit-templates 132 133CXXFLAGS_c++98/concept-inst.cc += -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates 134CXXFLAGS_c++98/locale_init.cc += -std=gnu++11 135CXXFLAGS_c++98/localename.cc += -std=gnu++11 136PRIVATE_INCDIR_c++98/strstream.cc += $(STDCXX_CONTRIB_DIR)/include/backward 137CXXFLAGS_c++98/strstream.cc += -Wno-deprecated 138 139 140CXXFLAGS_c++11/hashtable_c++0x.cc += -fimplicit-templates 141 142# not all code is C++11 143SRC_CC_IS_CXX11 := 144CXXFLAGS += $(if $(filter c++20/%,$@),-std=gnu++20 -fimplicit-templates) 145CXXFLAGS += $(if $(filter c++17/%,$@),-std=gnu++17 -fimplicit-templates) 146CXXFLAGS += $(if $(filter c++11/%,$@),-std=gnu++11) 147CXXFLAGS += $(if $(filter c++98/%,$@),-std=gnu++98) 148CXXFLAGS += $(if $(filter filesystem/%,$@),-std=gnu++17) 149 150# -Wmissing-declarations triggers 151WARNINGS = $(WARNINGS_MINIMAL) 152 153# Only include the following in full libstdc++ builds 154SRC_CC += $(if $(filter -DL4_MINIMAL_LIBC,$(DEFINES)),,c_locale.cc) 155 156vpath %.cc $(STDCXX_CONTRIB_DIR)/config/os/generic 157 158$(OBJ_DIR)/c++98/basic_file.cc: $(STDCXX_CONTRIB_DIR)/config/io/basic_file_stdio.cc 159 $(VERBOSE)$(MKDIR) $(@D) 160 $(VERBOSE)$(LN) -sf $< $@ 161 162$(OBJ_DIR)/c++98/collate_members_cow.cc: $(STDCXX_CONTRIB_DIR)/config/locale/generic/collate_members.cc 163 $(VERBOSE)$(MKDIR) $(@D) 164 $(VERBOSE)$(LN) -sf $< $@ 165 166$(OBJ_DIR)/c++98/messages_members_cow.cc: $(STDCXX_CONTRIB_DIR)/config/locale/generic/messages_members.cc 167 $(VERBOSE)$(MKDIR) $(@D) 168 $(VERBOSE)$(LN) -sf $< $@ 169 170$(OBJ_DIR)/c++98/monetary_members_cow.cc: $(STDCXX_CONTRIB_DIR)/config/locale/generic/monetary_members.cc 171 $(VERBOSE)$(MKDIR) $(@D) 172 $(VERBOSE)$(LN) -sf $< $@ 173 174$(OBJ_DIR)/c++98/numeric_members_cow.cc: $(STDCXX_CONTRIB_DIR)/config/locale/generic/numeric_members.cc 175 $(VERBOSE)$(MKDIR) $(@D) 176 $(VERBOSE)$(LN) -sf $< $@ 177