xref: /netbsd-src/external/gpl3/gcc/dist/libstdc++-v3/include/Makefile.in (revision b1e838363e3c6fc78a55519254d99869742dd33c)
1# Makefile.in generated by automake 1.15.1 from Makefile.am.
2# @configure_input@
3
4# Copyright (C) 1994-2017 Free Software Foundation, Inc.
5
6# This Makefile.in is free software; the Free Software Foundation
7# gives unlimited permission to copy and/or distribute it,
8# with or without modifications, as long as this notice is preserved.
9
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13# PARTICULAR PURPOSE.
14
15@SET_MAKE@
16VPATH = @srcdir@
17am__is_gnu_make = { \
18  if test -z '$(MAKELEVEL)'; then \
19    false; \
20  elif test -n '$(MAKE_HOST)'; then \
21    true; \
22  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
23    true; \
24  else \
25    false; \
26  fi; \
27}
28am__make_running_with_option = \
29  case $${target_option-} in \
30      ?) ;; \
31      *) echo "am__make_running_with_option: internal error: invalid" \
32              "target option '$${target_option-}' specified" >&2; \
33         exit 1;; \
34  esac; \
35  has_opt=no; \
36  sane_makeflags=$$MAKEFLAGS; \
37  if $(am__is_gnu_make); then \
38    sane_makeflags=$$MFLAGS; \
39  else \
40    case $$MAKEFLAGS in \
41      *\\[\ \	]*) \
42        bs=\\; \
43        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
44          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
45    esac; \
46  fi; \
47  skip_next=no; \
48  strip_trailopt () \
49  { \
50    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
51  }; \
52  for flg in $$sane_makeflags; do \
53    test $$skip_next = yes && { skip_next=no; continue; }; \
54    case $$flg in \
55      *=*|--*) continue;; \
56        -*I) strip_trailopt 'I'; skip_next=yes;; \
57      -*I?*) strip_trailopt 'I';; \
58        -*O) strip_trailopt 'O'; skip_next=yes;; \
59      -*O?*) strip_trailopt 'O';; \
60        -*l) strip_trailopt 'l'; skip_next=yes;; \
61      -*l?*) strip_trailopt 'l';; \
62      -[dEDm]) skip_next=yes;; \
63      -[JT]) skip_next=yes;; \
64    esac; \
65    case $$flg in \
66      *$$target_option*) has_opt=yes; break;; \
67    esac; \
68  done; \
69  test $$has_opt = yes
70am__make_dryrun = (target_option=n; $(am__make_running_with_option))
71am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
72pkgdatadir = $(datadir)/@PACKAGE@
73pkgincludedir = $(includedir)/@PACKAGE@
74pkglibdir = $(libdir)/@PACKAGE@
75pkglibexecdir = $(libexecdir)/@PACKAGE@
76am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
77install_sh_DATA = $(install_sh) -c -m 644
78install_sh_PROGRAM = $(install_sh) -c
79install_sh_SCRIPT = $(install_sh) -c
80INSTALL_HEADER = $(INSTALL_DATA)
81transform = $(program_transform_name)
82NORMAL_INSTALL = :
83PRE_INSTALL = :
84POST_INSTALL = :
85NORMAL_UNINSTALL = :
86PRE_UNINSTALL = :
87POST_UNINSTALL = :
88build_triplet = @build@
89host_triplet = @host@
90target_triplet = @target@
91subdir = include
92ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
93am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
94	$(top_srcdir)/../config/enable.m4 \
95	$(top_srcdir)/../config/futex.m4 \
96	$(top_srcdir)/../config/hwcaps.m4 \
97	$(top_srcdir)/../config/iconv.m4 \
98	$(top_srcdir)/../config/lead-dot.m4 \
99	$(top_srcdir)/../config/lib-ld.m4 \
100	$(top_srcdir)/../config/lib-link.m4 \
101	$(top_srcdir)/../config/lib-prefix.m4 \
102	$(top_srcdir)/../config/lthostflags.m4 \
103	$(top_srcdir)/../config/multi.m4 \
104	$(top_srcdir)/../config/no-executables.m4 \
105	$(top_srcdir)/../config/override.m4 \
106	$(top_srcdir)/../config/stdint.m4 \
107	$(top_srcdir)/../config/toolexeclibdir.m4 \
108	$(top_srcdir)/../config/unwind_ipinfo.m4 \
109	$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
110	$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
111	$(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
112	$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
113	$(top_srcdir)/../config/gc++filt.m4 \
114	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
115	$(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
116am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
117	$(ACLOCAL_M4)
118DIST_COMMON = $(srcdir)/Makefile.am
119CONFIG_HEADER = $(top_builddir)/config.h
120CONFIG_CLEAN_FILES =
121CONFIG_CLEAN_VPATH_FILES =
122AM_V_P = $(am__v_P_@AM_V@)
123am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
124am__v_P_0 = false
125am__v_P_1 = :
126AM_V_GEN = $(am__v_GEN_@AM_V@)
127am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
128am__v_GEN_0 = @echo "  GEN     " $@;
129am__v_GEN_1 =
130AM_V_at = $(am__v_at_@AM_V@)
131am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
132am__v_at_0 = @
133am__v_at_1 =
134depcomp =
135am__depfiles_maybe =
136SOURCES =
137am__can_run_installinfo = \
138  case $$AM_UPDATE_INFO_DIR in \
139    n|no|NO) false;; \
140    *) (install-info --version) >/dev/null 2>&1;; \
141  esac
142am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
143ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
144ACLOCAL = @ACLOCAL@
145ALLOCATOR_H = @ALLOCATOR_H@
146ALLOCATOR_NAME = @ALLOCATOR_NAME@
147ALLOC_FILE = @ALLOC_FILE@
148AMTAR = @AMTAR@
149AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
150AR = @AR@
151AS = @AS@
152ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
153ATOMIC_FLAGS = @ATOMIC_FLAGS@
154ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
155AUTOCONF = @AUTOCONF@
156AUTOHEADER = @AUTOHEADER@
157AUTOMAKE = @AUTOMAKE@
158AWK = @AWK@
159BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@
160BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
161BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
162BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
163BASIC_FILE_CC = @BASIC_FILE_CC@
164BASIC_FILE_H = @BASIC_FILE_H@
165CC = @CC@
166CCODECVT_CC = @CCODECVT_CC@
167CCOLLATE_CC = @CCOLLATE_CC@
168CCTYPE_CC = @CCTYPE_CC@
169CFLAGS = @CFLAGS@
170CLOCALE_CC = @CLOCALE_CC@
171CLOCALE_H = @CLOCALE_H@
172CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
173CMESSAGES_CC = @CMESSAGES_CC@
174CMESSAGES_H = @CMESSAGES_H@
175CMONEY_CC = @CMONEY_CC@
176CNUMERIC_CC = @CNUMERIC_CC@
177CPP = @CPP@
178CPPFLAGS = @CPPFLAGS@
179CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
180CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
181CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
182CSTDIO_H = @CSTDIO_H@
183CTIME_CC = @CTIME_CC@
184CTIME_H = @CTIME_H@
185CXX = @CXX@
186CXXCPP = @CXXCPP@
187CXXFILT = @CXXFILT@
188CXXFLAGS = @CXXFLAGS@
189CYGPATH_W = @CYGPATH_W@
190C_INCLUDE_DIR = @C_INCLUDE_DIR@
191DBLATEX = @DBLATEX@
192DEBUG_FLAGS = @DEBUG_FLAGS@
193DEFS = @DEFS@
194DOT = @DOT@
195DOXYGEN = @DOXYGEN@
196DSYMUTIL = @DSYMUTIL@
197DUMPBIN = @DUMPBIN@
198ECHO_C = @ECHO_C@
199ECHO_N = @ECHO_N@
200ECHO_T = @ECHO_T@
201EGREP = @EGREP@
202ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
203EXEEXT = @EXEEXT@
204EXTRA_CFLAGS = @EXTRA_CFLAGS@
205EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
206FGREP = @FGREP@
207FORMAT_FILE = @FORMAT_FILE@
208FREESTANDING_FLAGS = @FREESTANDING_FLAGS@
209GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
210GLIBCXX_LIBS = @GLIBCXX_LIBS@
211GREP = @GREP@
212HWCAP_CFLAGS = @HWCAP_CFLAGS@
213INSTALL = @INSTALL@
214INSTALL_DATA = @INSTALL_DATA@
215INSTALL_PROGRAM = @INSTALL_PROGRAM@
216INSTALL_SCRIPT = @INSTALL_SCRIPT@
217INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
218LD = @LD@
219LDFLAGS = @LDFLAGS@
220LIBICONV = @LIBICONV@
221LIBOBJS = @LIBOBJS@
222LIBS = @LIBS@
223LIBTOOL = @LIBTOOL@
224LIPO = @LIPO@
225LN_S = @LN_S@
226LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
227LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
228LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
229LTLIBICONV = @LTLIBICONV@
230LTLIBOBJS = @LTLIBOBJS@
231MAINT = @MAINT@
232MAKEINFO = @MAKEINFO@
233MKDIR_P = @MKDIR_P@
234NM = @NM@
235NMEDIT = @NMEDIT@
236OBJDUMP = @OBJDUMP@
237OBJEXT = @OBJEXT@
238OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
239OPT_LDFLAGS = @OPT_LDFLAGS@
240OS_INC_SRCDIR = @OS_INC_SRCDIR@
241OTOOL = @OTOOL@
242OTOOL64 = @OTOOL64@
243PACKAGE = @PACKAGE@
244PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
245PACKAGE_NAME = @PACKAGE_NAME@
246PACKAGE_STRING = @PACKAGE_STRING@
247PACKAGE_TARNAME = @PACKAGE_TARNAME@
248PACKAGE_URL = @PACKAGE_URL@
249PACKAGE_VERSION = @PACKAGE_VERSION@
250PATH_SEPARATOR = @PATH_SEPARATOR@
251PDFLATEX = @PDFLATEX@
252RANLIB = @RANLIB@
253SECTION_FLAGS = @SECTION_FLAGS@
254SECTION_LDFLAGS = @SECTION_LDFLAGS@
255SED = @SED@
256SET_MAKE = @SET_MAKE@
257SHELL = @SHELL@
258STRIP = @STRIP@
259SYMVER_FILE = @SYMVER_FILE@
260TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
261USE_NLS = @USE_NLS@
262VERSION = @VERSION@
263VIEW_FILE = @VIEW_FILE@
264VTV_CXXFLAGS = @VTV_CXXFLAGS@
265VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
266VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
267WARN_FLAGS = @WARN_FLAGS@
268XMLCATALOG = @XMLCATALOG@
269XMLLINT = @XMLLINT@
270XSLTPROC = @XSLTPROC@
271XSL_STYLE_DIR = @XSL_STYLE_DIR@
272abs_builddir = @abs_builddir@
273abs_srcdir = @abs_srcdir@
274abs_top_builddir = @abs_top_builddir@
275abs_top_srcdir = @abs_top_srcdir@
276ac_ct_CC = @ac_ct_CC@
277ac_ct_CXX = @ac_ct_CXX@
278ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
279am__leading_dot = @am__leading_dot@
280am__tar = @am__tar@
281am__untar = @am__untar@
282baseline_dir = @baseline_dir@
283baseline_subdir_switch = @baseline_subdir_switch@
284bindir = @bindir@
285build = @build@
286build_alias = @build_alias@
287build_cpu = @build_cpu@
288build_os = @build_os@
289build_vendor = @build_vendor@
290builddir = @builddir@
291check_msgfmt = @check_msgfmt@
292datadir = @datadir@
293datarootdir = @datarootdir@
294docdir = @docdir@
295dvidir = @dvidir@
296enable_shared = @enable_shared@
297enable_static = @enable_static@
298exec_prefix = @exec_prefix@
299get_gcc_base_ver = @get_gcc_base_ver@
300glibcxx_MOFILES = @glibcxx_MOFILES@
301glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
302glibcxx_POFILES = @glibcxx_POFILES@
303glibcxx_builddir = @glibcxx_builddir@
304glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
305glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
306glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
307glibcxx_localedir = @glibcxx_localedir@
308glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
309glibcxx_prefixdir = @glibcxx_prefixdir@
310glibcxx_srcdir = @glibcxx_srcdir@
311glibcxx_toolexecdir = @glibcxx_toolexecdir@
312glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
313gxx_include_dir = @gxx_include_dir@
314host = @host@
315host_alias = @host_alias@
316host_cpu = @host_cpu@
317host_os = @host_os@
318host_vendor = @host_vendor@
319htmldir = @htmldir@
320includedir = @includedir@
321infodir = @infodir@
322install_sh = @install_sh@
323libdir = @libdir@
324libexecdir = @libexecdir@
325libtool_VERSION = @libtool_VERSION@
326localedir = @localedir@
327localstatedir = @localstatedir@
328lt_host_flags = @lt_host_flags@
329mandir = @mandir@
330mkdir_p = @mkdir_p@
331multi_basedir = @multi_basedir@
332oldincludedir = @oldincludedir@
333pdfdir = @pdfdir@
334port_specific_symbol_files = @port_specific_symbol_files@
335prefix = @prefix@
336program_transform_name = @program_transform_name@
337psdir = @psdir@
338python_mod_dir = @python_mod_dir@
339sbindir = @sbindir@
340sharedstatedir = @sharedstatedir@
341srcdir = @srcdir@
342sysconfdir = @sysconfdir@
343target = @target@
344target_alias = @target_alias@
345target_cpu = @target_cpu@
346target_os = @target_os@
347target_vendor = @target_vendor@
348thread_header = @thread_header@
349tmake_file = @tmake_file@
350top_build_prefix = @top_build_prefix@
351top_builddir = @top_builddir@
352top_srcdir = @top_srcdir@
353toplevel_builddir = @toplevel_builddir@
354toplevel_srcdir = @toplevel_srcdir@
355
356# May be used by various substitution variables.
357gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
358MAINT_CHARSET = latin1
359mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
360PWD_COMMAND = $${PWDCMD-pwd}
361STAMP = echo timestamp >
362toolexecdir = $(glibcxx_toolexecdir)
363toolexeclibdir = $(glibcxx_toolexeclibdir)
364@ENABLE_WERROR_FALSE@WERROR_FLAG =
365@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
366@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
367@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
368@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
369@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
370
371# These bits are all figured out from configure.  Look in acinclude.m4
372# or configure.ac to see how they are set.  See GLIBCXX_EXPORT_FLAGS.
373CONFIG_CXXFLAGS = \
374	$(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
375
376WARN_CXXFLAGS = \
377	$(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
378
379
380# -I/-D flags to pass when compiling.
381AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
382
383# Standard C++ includes.
384std_srcdir = ${glibcxx_srcdir}/include/std
385std_builddir = .
386std_headers = \
387	${std_srcdir}/algorithm \
388	${std_srcdir}/any \
389	${std_srcdir}/array \
390	${std_srcdir}/atomic \
391	${std_srcdir}/barrier \
392	${std_srcdir}/bit \
393	${std_srcdir}/bitset \
394	${std_srcdir}/charconv \
395	${std_srcdir}/chrono \
396	${std_srcdir}/codecvt \
397	${std_srcdir}/complex \
398	${std_srcdir}/concepts \
399	${std_srcdir}/condition_variable \
400	${std_srcdir}/coroutine \
401	${std_srcdir}/deque \
402	${std_srcdir}/execution \
403	${std_srcdir}/expected \
404	${std_srcdir}/filesystem \
405	${std_srcdir}/forward_list \
406	${std_srcdir}/fstream \
407	${std_srcdir}/functional \
408	${std_srcdir}/future \
409	${std_srcdir}/iomanip \
410	${std_srcdir}/ios \
411	${std_srcdir}/iosfwd \
412	${std_srcdir}/iostream \
413	${std_srcdir}/istream \
414	${std_srcdir}/iterator \
415	${std_srcdir}/latch \
416	${std_srcdir}/limits \
417	${std_srcdir}/list \
418	${std_srcdir}/locale \
419	${std_srcdir}/map \
420	${std_srcdir}/memory \
421	${std_srcdir}/memory_resource \
422	${std_srcdir}/mutex \
423	${std_srcdir}/numbers \
424	${std_srcdir}/numeric \
425	${std_srcdir}/optional \
426	${std_srcdir}/ostream \
427	${std_srcdir}/queue \
428	${std_srcdir}/random \
429	${std_srcdir}/ranges \
430	${std_srcdir}/ratio \
431	${std_srcdir}/regex \
432	${std_srcdir}/scoped_allocator \
433	${std_srcdir}/semaphore \
434	${std_srcdir}/set \
435	${std_srcdir}/shared_mutex \
436	${std_srcdir}/source_location \
437	${std_srcdir}/span \
438	${std_srcdir}/spanstream \
439	${std_srcdir}/sstream \
440	${std_srcdir}/syncstream \
441	${std_srcdir}/stack \
442	${std_srcdir}/stacktrace \
443	${std_srcdir}/stdexcept \
444	${std_srcdir}/stop_token \
445	${std_srcdir}/streambuf \
446	${std_srcdir}/string \
447	${std_srcdir}/string_view \
448	${std_srcdir}/system_error \
449	${std_srcdir}/thread \
450	${std_srcdir}/tuple \
451	${std_srcdir}/typeindex \
452	${std_srcdir}/type_traits \
453	${std_srcdir}/unordered_map \
454	${std_srcdir}/unordered_set \
455	${std_srcdir}/utility \
456	${std_srcdir}/valarray \
457	${std_srcdir}/variant \
458	${std_srcdir}/vector \
459	${std_srcdir}/version
460
461bits_srcdir = ${glibcxx_srcdir}/include/bits
462bits_builddir = ./bits
463bits_headers = \
464	${bits_srcdir}/algorithmfwd.h \
465	${bits_srcdir}/align.h \
466	${bits_srcdir}/alloc_traits.h \
467	${bits_srcdir}/allocated_ptr.h \
468	${bits_srcdir}/allocator.h \
469	${bits_srcdir}/atomic_base.h \
470	${bits_srcdir}/atomic_futex.h \
471	${bits_srcdir}/atomic_timed_wait.h \
472	${bits_srcdir}/atomic_wait.h \
473	${bits_srcdir}/basic_ios.h \
474	${bits_srcdir}/basic_ios.tcc \
475	${bits_srcdir}/basic_string.h \
476	${bits_srcdir}/basic_string.tcc \
477	${bits_srcdir}/boost_concept_check.h \
478	${bits_srcdir}/c++0x_warning.h \
479	${bits_srcdir}/char_traits.h \
480	${bits_srcdir}/charconv.h \
481	${bits_srcdir}/chrono.h \
482	${bits_srcdir}/codecvt.h \
483	${bits_srcdir}/concept_check.h \
484	${bits_srcdir}/cow_string.h \
485	${bits_srcdir}/cpp_type_traits.h \
486	${bits_srcdir}/deque.tcc \
487	${bits_srcdir}/enable_special_members.h \
488	${bits_srcdir}/erase_if.h \
489	${bits_srcdir}/forward_list.h \
490	${bits_srcdir}/forward_list.tcc \
491	${bits_srcdir}/fs_dir.h \
492	${bits_srcdir}/fs_fwd.h \
493	${bits_srcdir}/fs_ops.h \
494	${bits_srcdir}/fs_path.h \
495	${bits_srcdir}/fstream.tcc \
496	${bits_srcdir}/functexcept.h \
497	${bits_srcdir}/functional_hash.h \
498	${bits_srcdir}/gslice.h \
499	${bits_srcdir}/gslice_array.h \
500	${bits_srcdir}/hashtable.h \
501	${bits_srcdir}/hashtable_policy.h \
502	${bits_srcdir}/indirect_array.h \
503	${bits_srcdir}/invoke.h \
504	${bits_srcdir}/ios_base.h \
505	${bits_srcdir}/istream.tcc \
506	${bits_srcdir}/iterator_concepts.h \
507	${bits_srcdir}/list.tcc \
508	${bits_srcdir}/locale_classes.h \
509	${bits_srcdir}/locale_classes.tcc \
510	${bits_srcdir}/locale_conv.h \
511	${bits_srcdir}/locale_facets.h \
512	${bits_srcdir}/locale_facets.tcc \
513	${bits_srcdir}/locale_facets_nonio.h \
514	${bits_srcdir}/locale_facets_nonio.tcc \
515	${bits_srcdir}/localefwd.h \
516	${bits_srcdir}/mask_array.h \
517	${bits_srcdir}/max_size_type.h \
518	${bits_srcdir}/memoryfwd.h \
519	${bits_srcdir}/mofunc_impl.h \
520	${bits_srcdir}/move.h \
521	${bits_srcdir}/move_only_function.h \
522	${bits_srcdir}/new_allocator.h \
523	${bits_srcdir}/node_handle.h \
524	${bits_srcdir}/ostream.tcc \
525	${bits_srcdir}/ostream_insert.h \
526	${bits_srcdir}/parse_numbers.h \
527	${bits_srcdir}/postypes.h \
528	${bits_srcdir}/predefined_ops.h \
529	${bits_srcdir}/ptr_traits.h \
530	${bits_srcdir}/quoted_string.h \
531	${bits_srcdir}/random.h \
532	${bits_srcdir}/random.tcc \
533	${bits_srcdir}/range_access.h \
534	${bits_srcdir}/ranges_algobase.h \
535	${bits_srcdir}/ranges_algo.h \
536	${bits_srcdir}/ranges_base.h \
537	${bits_srcdir}/ranges_cmp.h \
538	${bits_srcdir}/ranges_uninitialized.h \
539	${bits_srcdir}/ranges_util.h \
540	${bits_srcdir}/refwrap.h \
541	${bits_srcdir}/regex.h \
542	${bits_srcdir}/regex.tcc \
543	${bits_srcdir}/regex_constants.h \
544	${bits_srcdir}/regex_error.h \
545	${bits_srcdir}/regex_scanner.h \
546	${bits_srcdir}/regex_scanner.tcc \
547	${bits_srcdir}/regex_automaton.h \
548	${bits_srcdir}/regex_automaton.tcc \
549	${bits_srcdir}/regex_compiler.h \
550	${bits_srcdir}/regex_compiler.tcc \
551	${bits_srcdir}/regex_executor.h \
552	${bits_srcdir}/regex_executor.tcc \
553	${bits_srcdir}/semaphore_base.h \
554	${bits_srcdir}/shared_ptr.h \
555	${bits_srcdir}/shared_ptr_atomic.h \
556	${bits_srcdir}/shared_ptr_base.h \
557	${bits_srcdir}/slice_array.h \
558	${bits_srcdir}/specfun.h \
559	${bits_srcdir}/sstream.tcc \
560	${bits_srcdir}/std_abs.h \
561	${bits_srcdir}/std_function.h \
562	${bits_srcdir}/std_mutex.h \
563	${bits_srcdir}/std_thread.h \
564	${bits_srcdir}/stl_algo.h \
565	${bits_srcdir}/stl_algobase.h \
566	${bits_srcdir}/stl_bvector.h \
567	${bits_srcdir}/stl_construct.h \
568	${bits_srcdir}/stl_deque.h \
569	${bits_srcdir}/stl_function.h \
570	${bits_srcdir}/stl_heap.h \
571	${bits_srcdir}/stl_iterator.h \
572	${bits_srcdir}/stl_iterator_base_funcs.h \
573	${bits_srcdir}/stl_iterator_base_types.h \
574	${bits_srcdir}/stl_list.h \
575	${bits_srcdir}/stl_map.h \
576	${bits_srcdir}/stl_multimap.h \
577	${bits_srcdir}/stl_multiset.h \
578	${bits_srcdir}/stl_numeric.h \
579	${bits_srcdir}/stl_pair.h \
580	${bits_srcdir}/stl_queue.h \
581	${bits_srcdir}/stl_raw_storage_iter.h \
582	${bits_srcdir}/stl_relops.h \
583	${bits_srcdir}/stl_set.h \
584	${bits_srcdir}/stl_stack.h \
585	${bits_srcdir}/stl_tempbuf.h \
586	${bits_srcdir}/stl_tree.h \
587	${bits_srcdir}/stl_uninitialized.h \
588	${bits_srcdir}/stl_vector.h \
589	${bits_srcdir}/stream_iterator.h \
590	${bits_srcdir}/streambuf_iterator.h \
591	${bits_srcdir}/streambuf.tcc \
592	${bits_srcdir}/stringfwd.h \
593	${bits_srcdir}/string_view.tcc \
594	${bits_srcdir}/this_thread_sleep.h \
595	${bits_srcdir}/uniform_int_dist.h \
596	${bits_srcdir}/unique_lock.h \
597	${bits_srcdir}/unique_ptr.h \
598	${bits_srcdir}/unordered_map.h \
599	${bits_srcdir}/unordered_set.h \
600	${bits_srcdir}/uses_allocator.h \
601	${bits_srcdir}/uses_allocator_args.h \
602	${bits_srcdir}/utility.h \
603	${bits_srcdir}/valarray_array.h \
604	${bits_srcdir}/valarray_array.tcc \
605	${bits_srcdir}/valarray_before.h \
606	${bits_srcdir}/valarray_after.h \
607	${bits_srcdir}/vector.tcc
608
609bits_host_headers = \
610	${glibcxx_srcdir}/${CPU_OPT_BITS_RANDOM}
611
612bits_sup_srcdir = ${glibcxx_srcdir}/libsupc++
613bits_sup_headers = \
614	${bits_sup_srcdir}/atomic_lockfree_defines.h \
615	${bits_sup_srcdir}/cxxabi_forced.h \
616	${bits_sup_srcdir}/cxxabi_init_exception.h \
617	${bits_sup_srcdir}/exception.h \
618	${bits_sup_srcdir}/exception_defines.h \
619	${bits_sup_srcdir}/exception_ptr.h \
620	${bits_sup_srcdir}/hash_bytes.h \
621	${bits_sup_srcdir}/nested_exception.h
622
623
624# C++17 Parallel Algorithm Includes.
625pstl_srcdir = ${glibcxx_srcdir}/include/pstl
626pstl_builddir = ./pstl
627pstl_headers = \
628	${pstl_srcdir}/algorithm_fwd.h \
629	${pstl_srcdir}/algorithm_impl.h \
630	${pstl_srcdir}/execution_defs.h \
631	${pstl_srcdir}/execution_impl.h \
632	${pstl_srcdir}/glue_algorithm_defs.h \
633	${pstl_srcdir}/glue_algorithm_impl.h \
634	${pstl_srcdir}/glue_execution_defs.h \
635	${pstl_srcdir}/glue_memory_defs.h \
636	${pstl_srcdir}/glue_memory_impl.h \
637	${pstl_srcdir}/glue_numeric_defs.h \
638	${pstl_srcdir}/glue_numeric_impl.h \
639	${pstl_srcdir}/memory_impl.h \
640	${pstl_srcdir}/numeric_fwd.h \
641	${pstl_srcdir}/numeric_impl.h \
642	${pstl_srcdir}/parallel_backend.h \
643	${pstl_srcdir}/parallel_backend_tbb.h \
644	${pstl_srcdir}/parallel_backend_serial.h \
645	${pstl_srcdir}/parallel_backend_utils.h \
646	${pstl_srcdir}/parallel_impl.h \
647	${pstl_srcdir}/pstl_config.h \
648	${pstl_srcdir}/unseq_backend_simd.h \
649	${pstl_srcdir}/utils.h
650
651backward_srcdir = ${glibcxx_srcdir}/include/backward
652backward_builddir = ./backward
653backward_headers = \
654	${backward_srcdir}/auto_ptr.h \
655	${backward_srcdir}/backward_warning.h \
656	${backward_srcdir}/binders.h \
657	${backward_srcdir}/hash_map \
658	${backward_srcdir}/hash_set \
659	${backward_srcdir}/hash_fun.h \
660	${backward_srcdir}/hashtable.h \
661	${backward_srcdir}/strstream
662
663pb_srcdir = ${glibcxx_srcdir}/include/ext/pb_ds
664pb_builddir = ./ext/pb_ds
665pb_subdirs = \
666	${pb_builddir}/detail \
667	${pb_builddir}/detail/pairing_heap_ \
668	${pb_builddir}/detail/splay_tree_ \
669	${pb_builddir}/detail/list_update_map_ \
670	${pb_builddir}/detail/branch_policy \
671	${pb_builddir}/detail/trie_policy \
672	${pb_builddir}/detail/gp_hash_table_map_ \
673	${pb_builddir}/detail/tree_policy \
674	${pb_builddir}/detail/binomial_heap_base_ \
675	${pb_builddir}/detail/resize_policy \
676	${pb_builddir}/detail/bin_search_tree_ \
677	${pb_builddir}/detail/binomial_heap_ \
678	${pb_builddir}/detail/thin_heap_ \
679	${pb_builddir}/detail/pat_trie_ \
680	${pb_builddir}/detail/cc_hash_table_map_ \
681	${pb_builddir}/detail/rc_binomial_heap_ \
682	${pb_builddir}/detail/left_child_next_sibling_heap_ \
683	${pb_builddir}/detail/unordered_iterator \
684	${pb_builddir}/detail/binary_heap_ \
685	${pb_builddir}/detail/ov_tree_map_ \
686	${pb_builddir}/detail/hash_fn \
687	${pb_builddir}/detail/eq_fn \
688	${pb_builddir}/detail/rb_tree_map_ \
689	${pb_builddir}/detail/list_update_policy
690
691
692# The ability for make and the underlying host to deal with this
693# unwieldy list as one entire entity is not a sure thing, and may
694# cause build errors. Thus, split one list into many smaller
695# mini-lists, with the maximum size per mini-list of no more than 42.
696pb_headers1 = \
697	${pb_srcdir}/assoc_container.hpp \
698	${pb_srcdir}/exception.hpp \
699	${pb_srcdir}/hash_policy.hpp \
700	${pb_srcdir}/list_update_policy.hpp \
701	${pb_srcdir}/priority_queue.hpp \
702	${pb_srcdir}/tag_and_trait.hpp \
703	${pb_srcdir}/tree_policy.hpp \
704	${pb_srcdir}/trie_policy.hpp \
705	${pb_srcdir}/detail/branch_policy/branch_policy.hpp \
706	${pb_srcdir}/detail/branch_policy/null_node_metadata.hpp \
707	${pb_srcdir}/detail/branch_policy/traits.hpp \
708	${pb_srcdir}/detail/binary_heap_/binary_heap_.hpp \
709	${pb_srcdir}/detail/binary_heap_/const_iterator.hpp \
710	${pb_srcdir}/detail/binary_heap_/point_const_iterator.hpp \
711	${pb_srcdir}/detail/binary_heap_/constructors_destructor_fn_imps.hpp \
712	${pb_srcdir}/detail/binary_heap_/debug_fn_imps.hpp \
713	${pb_srcdir}/detail/binary_heap_/entry_cmp.hpp \
714	${pb_srcdir}/detail/binary_heap_/entry_pred.hpp \
715	${pb_srcdir}/detail/binary_heap_/erase_fn_imps.hpp \
716	${pb_srcdir}/detail/binary_heap_/find_fn_imps.hpp \
717	${pb_srcdir}/detail/binary_heap_/info_fn_imps.hpp \
718	${pb_srcdir}/detail/binary_heap_/insert_fn_imps.hpp \
719	${pb_srcdir}/detail/binary_heap_/iterators_fn_imps.hpp \
720	${pb_srcdir}/detail/binary_heap_/policy_access_fn_imps.hpp \
721	${pb_srcdir}/detail/binary_heap_/resize_policy.hpp \
722	${pb_srcdir}/detail/binary_heap_/split_join_fn_imps.hpp \
723	${pb_srcdir}/detail/binary_heap_/trace_fn_imps.hpp \
724	${pb_srcdir}/detail/binomial_heap_base_/binomial_heap_base_.hpp \
725	${pb_srcdir}/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp \
726	${pb_srcdir}/detail/binomial_heap_base_/debug_fn_imps.hpp \
727	${pb_srcdir}/detail/binomial_heap_base_/erase_fn_imps.hpp \
728	${pb_srcdir}/detail/binomial_heap_base_/find_fn_imps.hpp \
729	${pb_srcdir}/detail/binomial_heap_base_/insert_fn_imps.hpp \
730	${pb_srcdir}/detail/binomial_heap_base_/split_join_fn_imps.hpp \
731	${pb_srcdir}/detail/binomial_heap_/binomial_heap_.hpp \
732	${pb_srcdir}/detail/binomial_heap_/constructors_destructor_fn_imps.hpp \
733	${pb_srcdir}/detail/binomial_heap_/debug_fn_imps.hpp \
734	${pb_srcdir}/detail/bin_search_tree_/bin_search_tree_.hpp
735
736pb_headers2 = \
737	${pb_srcdir}/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp \
738	${pb_srcdir}/detail/bin_search_tree_/debug_fn_imps.hpp \
739	${pb_srcdir}/detail/bin_search_tree_/erase_fn_imps.hpp \
740	${pb_srcdir}/detail/bin_search_tree_/find_fn_imps.hpp \
741	${pb_srcdir}/detail/bin_search_tree_/info_fn_imps.hpp \
742	${pb_srcdir}/detail/bin_search_tree_/insert_fn_imps.hpp \
743	${pb_srcdir}/detail/bin_search_tree_/iterators_fn_imps.hpp \
744	${pb_srcdir}/detail/bin_search_tree_/node_iterators.hpp \
745	${pb_srcdir}/detail/bin_search_tree_/point_iterators.hpp \
746	${pb_srcdir}/detail/bin_search_tree_/policy_access_fn_imps.hpp \
747	${pb_srcdir}/detail/bin_search_tree_/r_erase_fn_imps.hpp \
748	${pb_srcdir}/detail/bin_search_tree_/rotate_fn_imps.hpp \
749	${pb_srcdir}/detail/bin_search_tree_/split_join_fn_imps.hpp \
750	${pb_srcdir}/detail/bin_search_tree_/traits.hpp \
751	${pb_srcdir}/detail/cc_hash_table_map_/cc_ht_map_.hpp \
752	${pb_srcdir}/detail/cc_hash_table_map_/cmp_fn_imps.hpp \
753	${pb_srcdir}/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp \
754	${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp \
755	${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \
756	${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \
757	${pb_srcdir}/detail/cc_hash_table_map_/debug_fn_imps.hpp \
758	${pb_srcdir}/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp \
759	${pb_srcdir}/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp \
760	${pb_srcdir}/detail/cc_hash_table_map_/entry_list_fn_imps.hpp \
761	${pb_srcdir}/detail/cc_hash_table_map_/erase_fn_imps.hpp \
762	${pb_srcdir}/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp \
763	${pb_srcdir}/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp \
764	${pb_srcdir}/detail/cc_hash_table_map_/find_fn_imps.hpp \
765	${pb_srcdir}/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp \
766	${pb_srcdir}/detail/cc_hash_table_map_/info_fn_imps.hpp \
767	${pb_srcdir}/detail/cc_hash_table_map_/insert_fn_imps.hpp \
768	${pb_srcdir}/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp \
769	${pb_srcdir}/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp \
770	${pb_srcdir}/detail/cc_hash_table_map_/iterators_fn_imps.hpp \
771	${pb_srcdir}/detail/cc_hash_table_map_/policy_access_fn_imps.hpp \
772	${pb_srcdir}/detail/cc_hash_table_map_/resize_fn_imps.hpp \
773	${pb_srcdir}/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp \
774	${pb_srcdir}/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp \
775	${pb_srcdir}/detail/cc_hash_table_map_/size_fn_imps.hpp
776
777pb_headers3 = \
778	${pb_srcdir}/detail/cc_hash_table_map_/trace_fn_imps.hpp \
779	${pb_srcdir}/detail/cond_dealtor.hpp \
780	${pb_srcdir}/detail/container_base_dispatch.hpp \
781	${pb_srcdir}/detail/eq_fn/eq_by_less.hpp \
782	${pb_srcdir}/detail/eq_fn/hash_eq_fn.hpp \
783	${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp \
784	${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \
785	${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \
786	${pb_srcdir}/detail/gp_hash_table_map_/debug_fn_imps.hpp \
787	${pb_srcdir}/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp \
788	${pb_srcdir}/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp \
789	${pb_srcdir}/detail/gp_hash_table_map_/erase_fn_imps.hpp \
790	${pb_srcdir}/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp \
791	${pb_srcdir}/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp \
792	${pb_srcdir}/detail/gp_hash_table_map_/find_fn_imps.hpp \
793	${pb_srcdir}/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp \
794	${pb_srcdir}/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp \
795	${pb_srcdir}/detail/gp_hash_table_map_/gp_ht_map_.hpp \
796	${pb_srcdir}/detail/gp_hash_table_map_/info_fn_imps.hpp \
797	${pb_srcdir}/detail/gp_hash_table_map_/insert_fn_imps.hpp \
798	${pb_srcdir}/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp \
799	${pb_srcdir}/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp \
800	${pb_srcdir}/detail/gp_hash_table_map_/iterator_fn_imps.hpp \
801	${pb_srcdir}/detail/gp_hash_table_map_/policy_access_fn_imps.hpp \
802	${pb_srcdir}/detail/gp_hash_table_map_/resize_fn_imps.hpp \
803	${pb_srcdir}/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp \
804	${pb_srcdir}/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp \
805	${pb_srcdir}/detail/gp_hash_table_map_/trace_fn_imps.hpp \
806	${pb_srcdir}/detail/hash_fn/direct_mask_range_hashing_imp.hpp \
807	${pb_srcdir}/detail/hash_fn/direct_mod_range_hashing_imp.hpp \
808	${pb_srcdir}/detail/hash_fn/linear_probe_fn_imp.hpp \
809	${pb_srcdir}/detail/hash_fn/mask_based_range_hashing.hpp \
810	${pb_srcdir}/detail/hash_fn/mod_based_range_hashing.hpp \
811	${pb_srcdir}/detail/hash_fn/probe_fn_base.hpp \
812	${pb_srcdir}/detail/hash_fn/quadratic_probe_fn_imp.hpp \
813	${pb_srcdir}/detail/hash_fn/ranged_hash_fn.hpp \
814	${pb_srcdir}/detail/hash_fn/ranged_probe_fn.hpp
815
816pb_headers4 = \
817	${pb_srcdir}/detail/hash_fn/sample_probe_fn.hpp \
818	${pb_srcdir}/detail/hash_fn/sample_ranged_hash_fn.hpp \
819	${pb_srcdir}/detail/hash_fn/sample_ranged_probe_fn.hpp \
820	${pb_srcdir}/detail/hash_fn/sample_range_hashing.hpp \
821	${pb_srcdir}/detail/left_child_next_sibling_heap_/const_iterator.hpp \
822	${pb_srcdir}/detail/left_child_next_sibling_heap_/point_const_iterator.hpp \
823	${pb_srcdir}/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp \
824	${pb_srcdir}/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp \
825	${pb_srcdir}/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp \
826	${pb_srcdir}/detail/left_child_next_sibling_heap_/info_fn_imps.hpp \
827	${pb_srcdir}/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp \
828	${pb_srcdir}/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp \
829	${pb_srcdir}/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp \
830	${pb_srcdir}/detail/left_child_next_sibling_heap_/node.hpp \
831	${pb_srcdir}/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp \
832	${pb_srcdir}/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp \
833	${pb_srcdir}/detail/list_update_map_/constructor_destructor_fn_imps.hpp \
834	${pb_srcdir}/detail/list_update_map_/debug_fn_imps.hpp \
835	${pb_srcdir}/detail/list_update_map_/entry_metadata_base.hpp \
836	${pb_srcdir}/detail/list_update_map_/erase_fn_imps.hpp \
837	${pb_srcdir}/detail/list_update_map_/find_fn_imps.hpp \
838	${pb_srcdir}/detail/list_update_map_/info_fn_imps.hpp \
839	${pb_srcdir}/detail/list_update_map_/insert_fn_imps.hpp \
840	${pb_srcdir}/detail/list_update_map_/iterators_fn_imps.hpp \
841	${pb_srcdir}/detail/list_update_map_/lu_map_.hpp \
842	${pb_srcdir}/detail/list_update_map_/trace_fn_imps.hpp \
843	${pb_srcdir}/detail/list_update_policy/lu_counter_metadata.hpp \
844	${pb_srcdir}/detail/list_update_policy/sample_update_policy.hpp \
845	${pb_srcdir}/detail/debug_map_base.hpp \
846	${pb_srcdir}/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp \
847	${pb_srcdir}/detail/ov_tree_map_/debug_fn_imps.hpp \
848	${pb_srcdir}/detail/ov_tree_map_/erase_fn_imps.hpp \
849	${pb_srcdir}/detail/ov_tree_map_/info_fn_imps.hpp \
850	${pb_srcdir}/detail/ov_tree_map_/insert_fn_imps.hpp \
851	${pb_srcdir}/detail/ov_tree_map_/iterators_fn_imps.hpp \
852	${pb_srcdir}/detail/ov_tree_map_/node_iterators.hpp \
853	${pb_srcdir}/detail/ov_tree_map_/ov_tree_map_.hpp
854
855pb_headers5 = \
856	${pb_srcdir}/detail/ov_tree_map_/policy_access_fn_imps.hpp \
857	${pb_srcdir}/detail/ov_tree_map_/split_join_fn_imps.hpp \
858	${pb_srcdir}/detail/ov_tree_map_/traits.hpp \
859	${pb_srcdir}/detail/pairing_heap_/constructors_destructor_fn_imps.hpp \
860	${pb_srcdir}/detail/pairing_heap_/debug_fn_imps.hpp \
861	${pb_srcdir}/detail/pairing_heap_/erase_fn_imps.hpp \
862	${pb_srcdir}/detail/pairing_heap_/find_fn_imps.hpp \
863	${pb_srcdir}/detail/pairing_heap_/insert_fn_imps.hpp \
864	${pb_srcdir}/detail/pairing_heap_/pairing_heap_.hpp \
865	${pb_srcdir}/detail/pairing_heap_/split_join_fn_imps.hpp \
866	${pb_srcdir}/detail/pat_trie_/constructors_destructor_fn_imps.hpp \
867	${pb_srcdir}/detail/pat_trie_/debug_fn_imps.hpp \
868	${pb_srcdir}/detail/pat_trie_/erase_fn_imps.hpp \
869	${pb_srcdir}/detail/pat_trie_/find_fn_imps.hpp \
870	${pb_srcdir}/detail/pat_trie_/info_fn_imps.hpp \
871	${pb_srcdir}/detail/pat_trie_/insert_join_fn_imps.hpp \
872	${pb_srcdir}/detail/pat_trie_/iterators_fn_imps.hpp \
873	${pb_srcdir}/detail/pat_trie_/pat_trie_.hpp \
874	${pb_srcdir}/detail/pat_trie_/pat_trie_base.hpp \
875	${pb_srcdir}/detail/pat_trie_/policy_access_fn_imps.hpp \
876	${pb_srcdir}/detail/pat_trie_/r_erase_fn_imps.hpp \
877	${pb_srcdir}/detail/pat_trie_/rotate_fn_imps.hpp \
878	${pb_srcdir}/detail/pat_trie_/split_fn_imps.hpp \
879	${pb_srcdir}/detail/pat_trie_/synth_access_traits.hpp \
880	${pb_srcdir}/detail/pat_trie_/trace_fn_imps.hpp \
881	${pb_srcdir}/detail/pat_trie_/traits.hpp \
882	${pb_srcdir}/detail/pat_trie_/update_fn_imps.hpp \
883	${pb_srcdir}/detail/priority_queue_base_dispatch.hpp \
884	${pb_srcdir}/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp \
885	${pb_srcdir}/detail/rb_tree_map_/debug_fn_imps.hpp
886
887pb_headers6 = \
888	${pb_srcdir}/detail/rb_tree_map_/erase_fn_imps.hpp \
889	${pb_srcdir}/detail/rb_tree_map_/find_fn_imps.hpp \
890	${pb_srcdir}/detail/rb_tree_map_/info_fn_imps.hpp \
891	${pb_srcdir}/detail/rb_tree_map_/insert_fn_imps.hpp \
892	${pb_srcdir}/detail/rb_tree_map_/node.hpp \
893	${pb_srcdir}/detail/rb_tree_map_/rb_tree_.hpp \
894	${pb_srcdir}/detail/rb_tree_map_/split_join_fn_imps.hpp \
895	${pb_srcdir}/detail/rb_tree_map_/traits.hpp \
896	${pb_srcdir}/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp \
897	${pb_srcdir}/detail/rc_binomial_heap_/debug_fn_imps.hpp \
898	${pb_srcdir}/detail/rc_binomial_heap_/erase_fn_imps.hpp \
899	${pb_srcdir}/detail/rc_binomial_heap_/insert_fn_imps.hpp \
900	${pb_srcdir}/detail/rc_binomial_heap_/rc_binomial_heap_.hpp \
901	${pb_srcdir}/detail/rc_binomial_heap_/rc.hpp \
902	${pb_srcdir}/detail/rc_binomial_heap_/split_join_fn_imps.hpp \
903	${pb_srcdir}/detail/rc_binomial_heap_/trace_fn_imps.hpp \
904	${pb_srcdir}/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp \
905	${pb_srcdir}/detail/resize_policy/hash_exponential_size_policy_imp.hpp \
906	${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp \
907	${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp \
908	${pb_srcdir}/detail/resize_policy/hash_prime_size_policy_imp.hpp \
909	${pb_srcdir}/detail/resize_policy/hash_standard_resize_policy_imp.hpp \
910	${pb_srcdir}/detail/resize_policy/sample_resize_policy.hpp \
911	${pb_srcdir}/detail/resize_policy/sample_resize_trigger.hpp \
912	${pb_srcdir}/detail/resize_policy/sample_size_policy.hpp \
913	${pb_srcdir}/detail/splay_tree_/constructors_destructor_fn_imps.hpp \
914	${pb_srcdir}/detail/splay_tree_/debug_fn_imps.hpp \
915	${pb_srcdir}/detail/splay_tree_/erase_fn_imps.hpp \
916	${pb_srcdir}/detail/splay_tree_/find_fn_imps.hpp \
917	${pb_srcdir}/detail/splay_tree_/info_fn_imps.hpp \
918	${pb_srcdir}/detail/splay_tree_/insert_fn_imps.hpp \
919	${pb_srcdir}/detail/splay_tree_/node.hpp \
920	${pb_srcdir}/detail/splay_tree_/splay_fn_imps.hpp \
921	${pb_srcdir}/detail/splay_tree_/splay_tree_.hpp \
922	${pb_srcdir}/detail/splay_tree_/split_join_fn_imps.hpp \
923	${pb_srcdir}/detail/splay_tree_/traits.hpp \
924	${pb_srcdir}/detail/standard_policies.hpp \
925	${pb_srcdir}/detail/thin_heap_/constructors_destructor_fn_imps.hpp \
926	${pb_srcdir}/detail/thin_heap_/debug_fn_imps.hpp \
927	${pb_srcdir}/detail/thin_heap_/erase_fn_imps.hpp
928
929pb_headers7 = \
930	${pb_srcdir}/detail/thin_heap_/find_fn_imps.hpp \
931	${pb_srcdir}/detail/thin_heap_/insert_fn_imps.hpp \
932	${pb_srcdir}/detail/thin_heap_/split_join_fn_imps.hpp \
933	${pb_srcdir}/detail/thin_heap_/thin_heap_.hpp \
934	${pb_srcdir}/detail/thin_heap_/trace_fn_imps.hpp \
935	${pb_srcdir}/detail/tree_policy/node_metadata_selector.hpp \
936	${pb_srcdir}/detail/tree_policy/order_statistics_imp.hpp \
937	${pb_srcdir}/detail/tree_policy/sample_tree_node_update.hpp \
938	${pb_srcdir}/detail/tree_trace_base.hpp \
939	${pb_srcdir}/detail/trie_policy/node_metadata_selector.hpp \
940	${pb_srcdir}/detail/trie_policy/order_statistics_imp.hpp \
941	${pb_srcdir}/detail/trie_policy/prefix_search_node_update_imp.hpp \
942	${pb_srcdir}/detail/trie_policy/sample_trie_access_traits.hpp \
943	${pb_srcdir}/detail/trie_policy/sample_trie_node_update.hpp \
944	${pb_srcdir}/detail/trie_policy/trie_string_access_traits_imp.hpp \
945	${pb_srcdir}/detail/trie_policy/trie_policy_base.hpp \
946	${pb_srcdir}/detail/types_traits.hpp \
947	${pb_srcdir}/detail/type_utils.hpp \
948	${pb_srcdir}/detail/unordered_iterator/const_iterator.hpp \
949	${pb_srcdir}/detail/unordered_iterator/point_const_iterator.hpp \
950	${pb_srcdir}/detail/unordered_iterator/iterator.hpp \
951	${pb_srcdir}/detail/unordered_iterator/point_iterator.hpp
952
953ext_srcdir = ${glibcxx_srcdir}/include/ext
954ext_builddir = ./ext
955ext_headers = \
956	${ext_srcdir}/algorithm \
957	${ext_srcdir}/aligned_buffer.h \
958	${ext_srcdir}/alloc_traits.h \
959	${ext_srcdir}/atomicity.h \
960	${ext_srcdir}/bitmap_allocator.h \
961	${ext_srcdir}/cast.h \
962	${ext_srcdir}/cmath \
963	${ext_srcdir}/codecvt_specializations.h \
964	${ext_srcdir}/concurrence.h \
965	${ext_srcdir}/debug_allocator.h \
966	${ext_srcdir}/enc_filebuf.h \
967	${ext_srcdir}/extptr_allocator.h \
968	${ext_srcdir}/stdio_filebuf.h \
969	${ext_srcdir}/stdio_sync_filebuf.h \
970	${ext_srcdir}/functional \
971	${ext_srcdir}/iterator \
972	${ext_srcdir}/malloc_allocator.h \
973	${ext_srcdir}/memory \
974	${ext_srcdir}/mt_allocator.h \
975	${ext_srcdir}/new_allocator.h \
976	${ext_srcdir}/numeric \
977	${ext_srcdir}/numeric_traits.h \
978	${ext_srcdir}/pod_char_traits.h \
979	${ext_srcdir}/pointer.h \
980	${ext_srcdir}/pool_allocator.h \
981	${ext_srcdir}/rb_tree \
982	${ext_srcdir}/random \
983	${ext_srcdir}/random.tcc \
984	${ext_srcdir}/rope \
985	${ext_srcdir}/ropeimpl.h \
986	${ext_srcdir}/slist \
987	${ext_srcdir}/string_conversions.h \
988	${ext_srcdir}/throw_allocator.h \
989	${ext_srcdir}/typelist.h \
990	${ext_srcdir}/type_traits.h \
991	${ext_srcdir}/rc_string_base.h \
992	${ext_srcdir}/sso_string_base.h \
993	${ext_srcdir}/vstring.h \
994	${ext_srcdir}/vstring.tcc \
995	${ext_srcdir}/vstring_fwd.h \
996	${ext_srcdir}/vstring_util.h \
997	${ext_compat_headers}
998
999ext_compat_headers = \
1000	${backward_srcdir}/hash_set \
1001	${backward_srcdir}/hash_map
1002
1003ext_host_headers = \
1004	${glibcxx_srcdir}/${CPU_OPT_EXT_RANDOM}
1005
1006tr1_srcdir = ${glibcxx_srcdir}/include/tr1
1007tr1_builddir = ./tr1
1008tr1_headers = \
1009	${tr1_srcdir}/array \
1010	${tr1_srcdir}/bessel_function.tcc \
1011	${tr1_srcdir}/beta_function.tcc \
1012	${tr1_srcdir}/ccomplex \
1013	${tr1_srcdir}/cctype \
1014	${tr1_srcdir}/cfenv \
1015	${tr1_srcdir}/cfloat \
1016	${tr1_srcdir}/cinttypes \
1017	${tr1_srcdir}/climits \
1018	${tr1_srcdir}/cmath \
1019	${tr1_srcdir}/complex \
1020	${tr1_srcdir}/complex.h \
1021	${tr1_srcdir}/cstdarg \
1022	${tr1_srcdir}/cstdbool \
1023	${tr1_srcdir}/cstdint \
1024	${tr1_srcdir}/cstdio \
1025	${tr1_srcdir}/cstdlib \
1026	${tr1_srcdir}/ctgmath \
1027	${tr1_srcdir}/ctime \
1028	${tr1_srcdir}/ctype.h \
1029	${tr1_srcdir}/cwchar \
1030	${tr1_srcdir}/cwctype \
1031	${tr1_srcdir}/ell_integral.tcc \
1032	${tr1_srcdir}/exp_integral.tcc \
1033	${tr1_srcdir}/fenv.h \
1034	${tr1_srcdir}/float.h \
1035	${tr1_srcdir}/functional \
1036	${tr1_srcdir}/functional_hash.h \
1037	${tr1_srcdir}/gamma.tcc \
1038	${tr1_srcdir}/hypergeometric.tcc \
1039	${tr1_srcdir}/hashtable.h \
1040	${tr1_srcdir}/hashtable_policy.h \
1041	${tr1_srcdir}/inttypes.h \
1042	${tr1_srcdir}/limits.h \
1043	${tr1_srcdir}/math.h \
1044	${tr1_srcdir}/memory \
1045	${tr1_srcdir}/modified_bessel_func.tcc \
1046	${tr1_srcdir}/poly_hermite.tcc \
1047	${tr1_srcdir}/poly_laguerre.tcc \
1048	${tr1_srcdir}/legendre_function.tcc \
1049	${tr1_srcdir}/random \
1050	${tr1_srcdir}/random.h \
1051	${tr1_srcdir}/random.tcc \
1052	${tr1_srcdir}/regex \
1053	${tr1_srcdir}/riemann_zeta.tcc \
1054	${tr1_srcdir}/shared_ptr.h \
1055	${tr1_srcdir}/special_function_util.h \
1056	${tr1_srcdir}/stdarg.h \
1057	${tr1_srcdir}/stdbool.h \
1058	${tr1_srcdir}/stdint.h \
1059	${tr1_srcdir}/stdio.h \
1060	${tr1_srcdir}/stdlib.h \
1061	${tr1_srcdir}/tgmath.h \
1062	${tr1_srcdir}/tuple \
1063	${tr1_srcdir}/type_traits \
1064	${tr1_srcdir}/unordered_map \
1065	${tr1_srcdir}/unordered_map.h \
1066	${tr1_srcdir}/unordered_set \
1067	${tr1_srcdir}/unordered_set.h \
1068	${tr1_srcdir}/utility \
1069	${tr1_srcdir}/wchar.h \
1070	${tr1_srcdir}/wctype.h
1071
1072tr2_srcdir = ${glibcxx_srcdir}/include/tr2
1073tr2_builddir = ./tr2
1074tr2_headers = \
1075	${tr2_srcdir}/bool_set \
1076	${tr2_srcdir}/bool_set.tcc \
1077	${tr2_srcdir}/dynamic_bitset \
1078	${tr2_srcdir}/dynamic_bitset.tcc \
1079	${tr2_srcdir}/ratio \
1080	${tr2_srcdir}/type_traits
1081
1082decimal_srcdir = ${glibcxx_srcdir}/include/decimal
1083decimal_builddir = ./decimal
1084decimal_headers = \
1085	${decimal_srcdir}/decimal \
1086	${decimal_srcdir}/decimal.h
1087
1088
1089# Post-C++11 TS's
1090experimental_srcdir = ${glibcxx_srcdir}/include/experimental
1091experimental_builddir = ./experimental
1092experimental_headers = \
1093	${experimental_srcdir}/algorithm \
1094	${experimental_srcdir}/any \
1095	${experimental_srcdir}/array \
1096	${experimental_srcdir}/buffer \
1097	${experimental_srcdir}/chrono \
1098	${experimental_srcdir}/deque \
1099	${experimental_srcdir}/executor \
1100	${experimental_srcdir}/forward_list \
1101	${experimental_srcdir}/functional \
1102	${experimental_srcdir}/internet \
1103	${experimental_srcdir}/io_context \
1104	${experimental_srcdir}/iterator \
1105	${experimental_srcdir}/list \
1106	${experimental_srcdir}/map \
1107	${experimental_srcdir}/memory \
1108	${experimental_srcdir}/memory_resource \
1109	${experimental_srcdir}/net \
1110	${experimental_srcdir}/netfwd \
1111	${experimental_srcdir}/numeric \
1112	${experimental_srcdir}/optional \
1113	${experimental_srcdir}/propagate_const \
1114	${experimental_srcdir}/random \
1115	${experimental_srcdir}/ratio \
1116	${experimental_srcdir}/regex \
1117	${experimental_srcdir}/set \
1118	${experimental_srcdir}/simd \
1119	${experimental_srcdir}/socket \
1120	${experimental_srcdir}/source_location \
1121	${experimental_srcdir}/string \
1122	${experimental_srcdir}/string_view \
1123	${experimental_srcdir}/system_error \
1124	${experimental_srcdir}/timer \
1125	${experimental_srcdir}/tuple \
1126	${experimental_srcdir}/type_traits \
1127	${experimental_srcdir}/unordered_map \
1128	${experimental_srcdir}/unordered_set \
1129	${experimental_srcdir}/utility \
1130	${experimental_srcdir}/vector \
1131	${experimental_filesystem_headers}
1132
1133experimental_bits_srcdir = ${glibcxx_srcdir}/include/experimental/bits
1134experimental_bits_builddir = ./experimental/bits
1135experimental_bits_headers = \
1136	${experimental_bits_srcdir}/lfts_config.h \
1137	${experimental_bits_srcdir}/net.h \
1138	${experimental_bits_srcdir}/numeric_traits.h \
1139	${experimental_bits_srcdir}/shared_ptr.h \
1140	${experimental_bits_srcdir}/simd.h \
1141	${experimental_bits_srcdir}/simd_builtin.h \
1142	${experimental_bits_srcdir}/simd_converter.h \
1143	${experimental_bits_srcdir}/simd_detail.h \
1144	${experimental_bits_srcdir}/simd_fixed_size.h \
1145	${experimental_bits_srcdir}/simd_math.h \
1146	${experimental_bits_srcdir}/simd_neon.h \
1147	${experimental_bits_srcdir}/simd_ppc.h \
1148	${experimental_bits_srcdir}/simd_scalar.h \
1149	${experimental_bits_srcdir}/simd_x86.h \
1150	${experimental_bits_srcdir}/simd_x86_conversions.h \
1151	${experimental_bits_srcdir}/string_view.tcc \
1152	${experimental_bits_filesystem_headers}
1153
1154@ENABLE_FILESYSTEM_TS_FALSE@experimental_filesystem_headers =
1155@ENABLE_FILESYSTEM_TS_TRUE@experimental_filesystem_headers = \
1156@ENABLE_FILESYSTEM_TS_TRUE@	${experimental_srcdir}/filesystem
1157
1158@ENABLE_FILESYSTEM_TS_FALSE@experimental_bits_filesystem_headers =
1159@ENABLE_FILESYSTEM_TS_TRUE@experimental_bits_filesystem_headers = \
1160@ENABLE_FILESYSTEM_TS_TRUE@	${experimental_bits_srcdir}/fs_dir.h \
1161@ENABLE_FILESYSTEM_TS_TRUE@	${experimental_bits_srcdir}/fs_fwd.h \
1162@ENABLE_FILESYSTEM_TS_TRUE@	${experimental_bits_srcdir}/fs_ops.h \
1163@ENABLE_FILESYSTEM_TS_TRUE@	${experimental_bits_srcdir}/fs_path.h
1164
1165
1166# This is the common subset of C++ files that all three "C" header models use.
1167c_base_srcdir = $(C_INCLUDE_DIR)
1168c_base_builddir = .
1169c_base_headers = \
1170	${c_base_srcdir}/cassert \
1171	${c_base_srcdir}/ccomplex \
1172	${c_base_srcdir}/cctype \
1173	${c_base_srcdir}/cerrno \
1174	${c_base_srcdir}/cfenv \
1175	${c_base_srcdir}/cfloat \
1176	${c_base_srcdir}/cinttypes \
1177	${c_base_srcdir}/ciso646 \
1178	${c_base_srcdir}/climits \
1179	${c_base_srcdir}/clocale \
1180	${c_base_srcdir}/cmath \
1181	${c_base_srcdir}/csetjmp \
1182	${c_base_srcdir}/csignal \
1183	${c_base_srcdir}/cstdalign \
1184	${c_base_srcdir}/cstdarg \
1185	${c_base_srcdir}/cstdbool \
1186	${c_base_srcdir}/cstddef \
1187	${c_base_srcdir}/cstdint \
1188	${c_base_srcdir}/cstdio \
1189	${c_base_srcdir}/cstdlib \
1190	${c_base_srcdir}/cstring \
1191	${c_base_srcdir}/ctgmath \
1192	${c_base_srcdir}/ctime \
1193	${c_base_srcdir}/cuchar \
1194	${c_base_srcdir}/cwchar \
1195	${c_base_srcdir}/cwctype
1196
1197
1198# "C" compatibility headers.
1199c_compatibility_srcdir = ${glibcxx_srcdir}/include/c_compatibility
1200c_compatibility_builddir = .
1201@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@c_compatibility_headers = \
1202@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/complex.h \
1203@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/fenv.h \
1204@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/tgmath.h \
1205@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/math.h \
1206@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/stdatomic.h \
1207@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@	${c_compatibility_srcdir}/stdlib.h
1208
1209@GLIBCXX_C_HEADERS_C_STD_TRUE@c_compatibility_headers =
1210@GLIBCXX_C_HEADERS_C_TRUE@c_compatibility_headers = \
1211@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/assert.h \
1212@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/complex.h \
1213@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/ctype.h \
1214@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/errno.h \
1215@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/fenv.h \
1216@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/float.h \
1217@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/inttypes.h \
1218@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/iso646.h \
1219@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/limits.h \
1220@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/locale.h \
1221@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/math.h \
1222@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/setjmp.h \
1223@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/signal.h \
1224@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/stdarg.h \
1225@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/stdbool.h \
1226@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/stddef.h \
1227@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/stdint.h \
1228@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/stdio.h \
1229@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/stdlib.h \
1230@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/string.h \
1231@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/tgmath.h \
1232@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/time.h \
1233@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/uchar.h \
1234@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/wchar.h \
1235@GLIBCXX_C_HEADERS_C_TRUE@	${c_compatibility_srcdir}/wctype.h
1236
1237
1238# Debug mode headers
1239debug_srcdir = ${glibcxx_srcdir}/include/debug
1240debug_builddir = ./debug
1241debug_headers = \
1242	${debug_srcdir}/assertions.h \
1243	${debug_srcdir}/bitset \
1244	${debug_srcdir}/debug.h \
1245	${debug_srcdir}/deque \
1246	${debug_srcdir}/formatter.h \
1247	${debug_srcdir}/forward_list \
1248	${debug_srcdir}/functions.h \
1249	${debug_srcdir}/helper_functions.h \
1250	${debug_srcdir}/list \
1251	${debug_srcdir}/map \
1252	${debug_srcdir}/macros.h \
1253	${debug_srcdir}/map.h \
1254	${debug_srcdir}/multimap.h \
1255	${debug_srcdir}/multiset.h \
1256	${debug_srcdir}/safe_base.h \
1257	${debug_srcdir}/safe_container.h \
1258	${debug_srcdir}/safe_iterator.h \
1259	${debug_srcdir}/safe_iterator.tcc \
1260	${debug_srcdir}/safe_local_iterator.h \
1261	${debug_srcdir}/safe_local_iterator.tcc \
1262	${debug_srcdir}/safe_sequence.h \
1263	${debug_srcdir}/safe_sequence.tcc \
1264	${debug_srcdir}/safe_unordered_base.h \
1265	${debug_srcdir}/safe_unordered_container.h \
1266	${debug_srcdir}/safe_unordered_container.tcc \
1267	${debug_srcdir}/set \
1268	${debug_srcdir}/set.h \
1269	${debug_srcdir}/stl_iterator.h \
1270	${debug_srcdir}/string \
1271	${debug_srcdir}/unordered_map \
1272	${debug_srcdir}/unordered_set \
1273	${debug_srcdir}/vector
1274
1275
1276# Parallel mode headers
1277parallel_srcdir = ${glibcxx_srcdir}/include/parallel
1278parallel_builddir = ./parallel
1279parallel_headers = \
1280	${parallel_srcdir}/algo.h \
1281	${parallel_srcdir}/algobase.h \
1282	${parallel_srcdir}/algorithm \
1283	${parallel_srcdir}/algorithmfwd.h \
1284	${parallel_srcdir}/balanced_quicksort.h \
1285	${parallel_srcdir}/base.h \
1286	${parallel_srcdir}/basic_iterator.h \
1287	${parallel_srcdir}/checkers.h \
1288	${parallel_srcdir}/compatibility.h \
1289	${parallel_srcdir}/compiletime_settings.h \
1290	${parallel_srcdir}/equally_split.h \
1291	${parallel_srcdir}/features.h \
1292	${parallel_srcdir}/find.h \
1293	${parallel_srcdir}/find_selectors.h \
1294	${parallel_srcdir}/for_each.h \
1295	${parallel_srcdir}/for_each_selectors.h \
1296	${parallel_srcdir}/iterator.h \
1297	${parallel_srcdir}/list_partition.h \
1298	${parallel_srcdir}/losertree.h \
1299	${parallel_srcdir}/merge.h \
1300	${parallel_srcdir}/multiseq_selection.h \
1301	${parallel_srcdir}/multiway_merge.h \
1302	${parallel_srcdir}/multiway_mergesort.h \
1303	${parallel_srcdir}/numeric \
1304	${parallel_srcdir}/numericfwd.h \
1305	${parallel_srcdir}/omp_loop.h \
1306	${parallel_srcdir}/omp_loop_static.h \
1307	${parallel_srcdir}/par_loop.h \
1308	${parallel_srcdir}/parallel.h \
1309	${parallel_srcdir}/partial_sum.h \
1310	${parallel_srcdir}/partition.h \
1311	${parallel_srcdir}/queue.h \
1312	${parallel_srcdir}/quicksort.h \
1313	${parallel_srcdir}/random_number.h \
1314	${parallel_srcdir}/random_shuffle.h \
1315	${parallel_srcdir}/search.h \
1316	${parallel_srcdir}/set_operations.h \
1317	${parallel_srcdir}/settings.h \
1318	${parallel_srcdir}/sort.h \
1319	${parallel_srcdir}/tags.h \
1320	${parallel_srcdir}/types.h \
1321	${parallel_srcdir}/unique_copy.h \
1322	${parallel_srcdir}/workstealing.h
1323
1324@GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@c_compatibility_headers_extra =
1325
1326# Some "C" header schemes require the "C" compatibility headers.
1327# For --enable-cheaders=c_std
1328@GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers}
1329host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
1330host_builddir = ./${host_alias}/bits
1331host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
1332host_headers = \
1333	${host_srcdir}/ctype_base.h \
1334	${host_srcdir}/ctype_inline.h \
1335	${host_srcdir}/os_defines.h \
1336	${glibcxx_srcdir}/$(ATOMIC_WORD_SRCDIR)/atomic_word.h \
1337	${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \
1338	${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h \
1339	${glibcxx_srcdir}/$(ERROR_CONSTANTS_SRCDIR)/error_constants.h \
1340	${glibcxx_srcdir}/include/precompiled/stdc++.h \
1341	${glibcxx_srcdir}/include/precompiled/stdtr1c++.h \
1342	${glibcxx_srcdir}/include/precompiled/extc++.h
1343
1344
1345# Non-installed host_header files.
1346COMPATIBILITY_H = config/abi/compatibility.h
1347host_headers_noinst = \
1348	${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) \
1349	${glibcxx_srcdir}/$(COMPATIBILITY_H)
1350
1351
1352# These host_headers_extra files are all built with ad hoc naming rules.
1353host_headers_extra = \
1354	${host_builddir}/basic_file.h \
1355	${host_builddir}/c++config.h \
1356	${host_builddir}/c++allocator.h \
1357	${host_builddir}/c++io.h \
1358	${host_builddir}/c++locale.h \
1359	${host_builddir}/messages_members.h \
1360	${host_builddir}/time_members.h
1361
1362thread_host_headers = \
1363	${host_builddir}/gthr.h \
1364	${host_builddir}/gthr-single.h \
1365	${host_builddir}/gthr-posix.h \
1366	${host_builddir}/gthr-default.h
1367
1368pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
1369pch1_output_builddir = ${host_builddir}/stdc++.h.gch
1370pch1_output_anchor = ${host_builddir}/stdc++.h
1371pch1_output_installdir = ${host_installdir}/stdc++.h.gch
1372pch1a_output = ${pch1_output_builddir}/O2ggnu++0x.gch
1373pch1b_output = ${pch1_output_builddir}/O2g.gch
1374pch1_output = ${pch1a_output} ${pch1b_output}
1375pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
1376pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch
1377pch2_output_anchor = ${host_builddir}/stdtr1c++.h
1378pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch
1379pch2_output = ${pch2_output_builddir}/O2g.gch
1380pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h
1381pch3_output_builddir = ${host_builddir}/extc++.h.gch
1382pch3_output_anchor = ${host_builddir}/extc++.h
1383pch3_output_installdir = ${host_installdir}/extc++.h.gch
1384pch3_output = ${pch3_output_builddir}/O2g.gch
1385pch_output = ${pch1_output} ${pch2_output} ${pch3_output}
1386pch_output_dirs = \
1387	${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
1388
1389pch_output_anchors = \
1390	${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
1391
1392PCHFLAGS = -x c++-header -nostdinc++ $(CXXFLAGS) $(VTV_PCH_CXXFLAGS)
1393@GLIBCXX_BUILD_PCH_FALSE@pch_build =
1394@GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output}
1395
1396# List of all timestamp files.  By keeping only one copy of this list, both
1397# CLEANFILES and all-local are kept up-to-date.
1398allstamped = \
1399	stamp-std stamp-bits stamp-bits-sup stamp-pstl stamp-c_base stamp-c_compatibility \
1400	stamp-backward stamp-ext stamp-pb stamp-tr1 stamp-tr2 stamp-decimal \
1401	stamp-experimental stamp-experimental-bits stamp-debug stamp-parallel \
1402	stamp-host
1403
1404
1405# List of all files that are created by explicit building, editing, or
1406# catenation.
1407allcreated = \
1408	${host_builddir}/c++config.h \
1409	${host_builddir}/largefile-config.h \
1410	${thread_host_headers} \
1411	${pch_build}
1412
1413
1414# Host includes for threads
1415uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
1416# By adding these files here, automake will remove them for 'make clean'
1417CLEANFILES = ${pch_output} ${pch_output_anchors} stamp-host
1418all: all-am
1419
1420.SUFFIXES:
1421$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
1422	@for dep in $?; do \
1423	  case '$(am__configure_deps)' in \
1424	    *$$dep*) \
1425	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
1426	        && { if test -f $@; then exit 0; else break; fi; }; \
1427	      exit 1;; \
1428	  esac; \
1429	done; \
1430	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps include/Makefile'; \
1431	$(am__cd) $(top_srcdir) && \
1432	  $(AUTOMAKE) --foreign --ignore-deps include/Makefile
1433Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
1434	@case '$?' in \
1435	  *config.status*) \
1436	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
1437	  *) \
1438	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
1439	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
1440	esac;
1441$(top_srcdir)/fragment.am $(am__empty):
1442
1443$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
1444	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
1445
1446$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
1447	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
1448$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
1449	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
1450$(am__aclocal_m4_deps):
1451
1452mostlyclean-libtool:
1453	-rm -f *.lo
1454
1455clean-libtool:
1456	-rm -rf .libs _libs
1457tags TAGS:
1458
1459ctags CTAGS:
1460
1461cscope cscopelist:
1462
1463check-am: all-am
1464check: check-am
1465all-am: Makefile all-local
1466installdirs:
1467install: install-am
1468install-exec: install-exec-am
1469install-data: install-data-am
1470uninstall: uninstall-am
1471
1472install-am: all-am
1473	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
1474
1475installcheck: installcheck-am
1476install-strip:
1477	if test -z '$(STRIP)'; then \
1478	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1479	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1480	      install; \
1481	else \
1482	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1483	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1484	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
1485	fi
1486mostlyclean-generic:
1487
1488clean-generic:
1489	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
1490
1491distclean-generic:
1492	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
1493	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
1494
1495maintainer-clean-generic:
1496	@echo "This command is intended for maintainers to use"
1497	@echo "it deletes files that may require special tools to rebuild."
1498clean: clean-am
1499
1500clean-am: clean-generic clean-libtool clean-local mostlyclean-am
1501
1502distclean: distclean-am
1503	-rm -f Makefile
1504distclean-am: clean-am distclean-generic
1505
1506dvi: dvi-am
1507
1508dvi-am:
1509
1510html: html-am
1511
1512html-am:
1513
1514info: info-am
1515
1516info-am:
1517
1518install-data-am: install-data-local
1519
1520install-dvi: install-dvi-am
1521
1522install-dvi-am:
1523
1524install-exec-am:
1525
1526install-html: install-html-am
1527
1528install-html-am:
1529
1530install-info: install-info-am
1531
1532install-info-am:
1533
1534install-man:
1535
1536install-pdf: install-pdf-am
1537
1538install-pdf-am:
1539
1540install-ps: install-ps-am
1541
1542install-ps-am:
1543
1544installcheck-am:
1545
1546maintainer-clean: maintainer-clean-am
1547	-rm -f Makefile
1548maintainer-clean-am: distclean-am maintainer-clean-generic
1549
1550mostlyclean: mostlyclean-am
1551
1552mostlyclean-am: mostlyclean-generic mostlyclean-libtool
1553
1554pdf: pdf-am
1555
1556pdf-am:
1557
1558ps: ps-am
1559
1560ps-am:
1561
1562uninstall-am:
1563
1564.MAKE: install-am install-strip
1565
1566.PHONY: all all-am all-local check check-am clean clean-generic \
1567	clean-libtool clean-local cscopelist-am ctags-am distclean \
1568	distclean-generic distclean-libtool dvi dvi-am html html-am \
1569	info info-am install install-am install-data install-data-am \
1570	install-data-local install-dvi install-dvi-am install-exec \
1571	install-exec-am install-html install-html-am install-info \
1572	install-info-am install-man install-pdf install-pdf-am \
1573	install-ps install-ps-am install-strip installcheck \
1574	installcheck-am installdirs maintainer-clean \
1575	maintainer-clean-generic mostlyclean mostlyclean-generic \
1576	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
1577	uninstall-am
1578
1579.PRECIOUS: Makefile
1580
1581
1582# Here are the rules for building the headers
1583all-local: ${allstamped} ${allcreated}
1584
1585# Ignore errors from 'mkdir -p' to avoid parallel make failure on
1586# systems with broken mkdir.  Call mkdir unconditionally because
1587# it is just as cheap to avoid going through the shell.
1588# Ignore errors from $(LN_S) because the links may already exist.
1589stamp-std: ${std_headers}
1590	@-mkdir -p ${std_builddir}
1591	@-cd ${std_builddir} && $(LN_S) $? . 2>/dev/null
1592	@$(STAMP) stamp-std
1593
1594stamp-bits: ${bits_headers}
1595	@-mkdir -p ${bits_builddir}
1596	@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
1597	@$(STAMP) stamp-bits
1598
1599stamp-bits-sup: stamp-bits ${bits_sup_headers}
1600	@-cd ${bits_builddir} && $(LN_S) ${bits_sup_headers} . 2>/dev/null
1601	@$(STAMP) stamp-bits-sup
1602
1603stamp-pstl: ${pstl_headers}
1604	@-mkdir -p ${pstl_builddir}
1605	@-cd ${pstl_builddir} && $(LN_S) $? . 2>/dev/null
1606	@$(STAMP) stamp-pstl
1607
1608stamp-c_base: ${c_base_headers}
1609	@-mkdir -p ${c_base_builddir}
1610	@-cd ${c_base_builddir} && $(LN_S) $? . 2>/dev/null
1611	@$(STAMP) stamp-c_base
1612
1613stamp-c_base_extra: ${c_base_headers_extra}
1614	@-mkdir -p ${bits_builddir}
1615	@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
1616	@$(STAMP) stamp-c_base_extra
1617
1618stamp-c_compatibility: ${c_compatibility_headers_extra}
1619	@-mkdir -p ${c_compatibility_builddir}
1620	@-if [ ! -z "${c_compatibility_headers_extra}" ]; then \
1621	  cd ${c_compatibility_builddir} && $(LN_S) $? . 2>/dev/null ;\
1622	fi
1623	@$(STAMP) stamp-c_compatibility
1624
1625stamp-backward: ${backward_headers}
1626	@-mkdir -p ${backward_builddir}
1627	@-cd ${backward_builddir} && $(LN_S) $? . 2>/dev/null
1628	@$(STAMP) stamp-backward
1629
1630stamp-ext: ${ext_headers}
1631	@-mkdir -p ${ext_builddir}
1632	@-cd ${ext_builddir} && $(LN_S) $? . 2>/dev/null
1633	@$(STAMP) stamp-ext
1634
1635# Have to deal with nested include directories, gah! Strip off source
1636# directory before making the link.
1637# XXX check  ${pb_headers}
1638stamp-pb:
1639	@if [ ! -d "${pb_builddir}" ]; then \
1640	    mkdir -p ${pb_subdirs} ;\
1641	fi
1642	@if [ ! -f stamp-pb ]; then \
1643	    cd ${pb_builddir} && for h in ${pb_headers1}; do \
1644		build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
1645		$(LN_S) $$h $${build_name} || true ;\
1646	      done ;\
1647	fi
1648	@if [ ! -f stamp-pb ]; then \
1649	    cd ${pb_builddir} && for h in ${pb_headers2}; do \
1650		build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
1651		$(LN_S) $$h $${build_name} || true ;\
1652	      done ;\
1653	fi
1654	@if [ ! -f stamp-pb ]; then \
1655	    cd ${pb_builddir} && for h in ${pb_headers3}; do \
1656		build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
1657		$(LN_S) $$h $${build_name} || true ;\
1658	      done ;\
1659	fi
1660	@if [ ! -f stamp-pb ]; then \
1661	    cd ${pb_builddir} && for h in ${pb_headers4}; do \
1662		build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
1663		$(LN_S) $$h $${build_name} || true ;\
1664	      done ;\
1665	fi
1666	@if [ ! -f stamp-pb ]; then \
1667	    cd ${pb_builddir} && for h in ${pb_headers5}; do \
1668		build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
1669		$(LN_S) $$h $${build_name} || true ;\
1670	      done ;\
1671	fi
1672	@if [ ! -f stamp-pb ]; then \
1673	    cd ${pb_builddir} && for h in ${pb_headers6}; do \
1674		build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
1675		$(LN_S) $$h $${build_name} || true ;\
1676	      done ;\
1677	fi
1678	@if [ ! -f stamp-pb ]; then \
1679	    cd ${pb_builddir} && for h in ${pb_headers7}; do \
1680		build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
1681		$(LN_S) $$h $${build_name} || true ;\
1682	      done ;\
1683	fi
1684	$(STAMP) stamp-pb
1685
1686stamp-tr1: ${tr1_headers}
1687	@-mkdir -p ${tr1_builddir}
1688	@-cd ${tr1_builddir} && $(LN_S) $? . 2>/dev/null
1689	@$(STAMP) stamp-tr1
1690
1691stamp-tr2: ${tr2_headers}
1692	@-mkdir -p ${tr2_builddir}
1693	@-cd ${tr2_builddir} && $(LN_S) $? . 2>/dev/null
1694	@$(STAMP) stamp-tr2
1695
1696stamp-decimal: ${decimal_headers}
1697	@-mkdir -p ${decimal_builddir}
1698	@-cd ${decimal_builddir} && $(LN_S) $? . 2>/dev/null
1699	@$(STAMP) stamp-decimal
1700
1701stamp-experimental: ${experimental_headers}
1702	@-mkdir -p ${experimental_builddir}
1703	@-cd ${experimental_builddir} && $(LN_S) $? . 2>/dev/null
1704	@$(STAMP) stamp-experimental
1705
1706stamp-experimental-bits: ${experimental_bits_headers}
1707	@-mkdir -p ${experimental_bits_builddir}
1708	@-cd ${experimental_bits_builddir} && $(LN_S) $? . 2>/dev/null
1709	@$(STAMP) stamp-experimental-bits
1710
1711stamp-debug: ${debug_headers}
1712	@-mkdir -p ${debug_builddir}
1713	@-cd ${debug_builddir} && $(LN_S) $? . 2>/dev/null
1714	@$(STAMP) stamp-debug
1715
1716stamp-parallel: ${parallel_headers}
1717	@-mkdir -p ${parallel_builddir}
1718	@-cd ${parallel_builddir} && $(LN_S) $? . 2>/dev/null
1719	@$(STAMP) stamp-parallel
1720
1721stamp-${host_alias}:
1722	@-mkdir -p ${host_builddir}
1723	@-mkdir -p ${host_builddir}/../ext
1724	@$(STAMP) stamp-${host_alias}
1725
1726# Host includes static.
1727# XXX Missing dependency info for {host_headers_extra}
1728stamp-host: ${host_headers} ${bits_host_headers} ${ext_host_headers} ${host_headers_noinst} stamp-${host_alias}
1729	@cd ${host_builddir} && {\
1730	  $(LN_S) ${host_headers} ${bits_host_headers} . || true ;\
1731	  $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_H) basic_file.h || true ;\
1732	  $(LN_S) ${glibcxx_srcdir}/$(ALLOCATOR_H) c++allocator.h || true ;\
1733	  $(LN_S) ${glibcxx_srcdir}/$(CSTDIO_H) c++io.h || true ;\
1734	  $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_H) c++locale.h || true ;\
1735	  $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) . || true ;\
1736	  $(LN_S) ${glibcxx_srcdir}/$(COMPATIBILITY_H) . || true ;\
1737	  $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_H) messages_members.h || true ;\
1738	  $(LN_S) ${glibcxx_srcdir}/$(CTIME_H) time_members.h || true;\
1739	} 2>/dev/null
1740	@cd ${host_builddir}/../ext && {\
1741	  $(LN_S) ${ext_host_headers} . || true ;\
1742	} 2>/dev/null
1743	$(STAMP) stamp-host
1744
1745# Host includes dynamic.
1746@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@stamp-namespace-version:
1747@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@	echo 1 > stamp-namespace-version
1748@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@stamp-namespace-version:
1749@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@	echo 0 > stamp-namespace-version
1750
1751@ENABLE_EXTERN_TEMPLATE_TRUE@stamp-extern-template:
1752@ENABLE_EXTERN_TEMPLATE_TRUE@	echo 1 > stamp-extern-template
1753@ENABLE_EXTERN_TEMPLATE_FALSE@stamp-extern-template:
1754@ENABLE_EXTERN_TEMPLATE_FALSE@	echo 0 > stamp-extern-template
1755
1756@ENABLE_VISIBILITY_TRUE@stamp-visibility:
1757@ENABLE_VISIBILITY_TRUE@	echo 1 > stamp-visibility
1758@ENABLE_VISIBILITY_FALSE@stamp-visibility:
1759@ENABLE_VISIBILITY_FALSE@	echo 0 > stamp-visibility
1760
1761@ENABLE_DUAL_ABI_TRUE@stamp-dual-abi:
1762@ENABLE_DUAL_ABI_TRUE@	echo 1 > stamp-dual-abi
1763@ENABLE_DUAL_ABI_FALSE@stamp-dual-abi:
1764@ENABLE_DUAL_ABI_FALSE@	echo 0 > stamp-dual-abi
1765
1766@ENABLE_CXX11_ABI_TRUE@stamp-cxx11-abi:
1767@ENABLE_CXX11_ABI_TRUE@	echo 1 > stamp-cxx11-abi
1768@ENABLE_CXX11_ABI_FALSE@stamp-cxx11-abi:
1769@ENABLE_CXX11_ABI_FALSE@	echo 0 > stamp-cxx11-abi
1770
1771@ENABLE_ALLOCATOR_NEW_TRUE@stamp-allocator-new:
1772@ENABLE_ALLOCATOR_NEW_TRUE@	echo 1 > stamp-allocator-new
1773@ENABLE_ALLOCATOR_NEW_FALSE@stamp-allocator-new:
1774@ENABLE_ALLOCATOR_NEW_FALSE@	echo 0 > stamp-allocator-new
1775
1776@ENABLE_FLOAT128_TRUE@stamp-float128:
1777@ENABLE_FLOAT128_TRUE@	echo 'define _GLIBCXX_USE_FLOAT128 1' > stamp-float128
1778@ENABLE_FLOAT128_FALSE@stamp-float128:
1779@ENABLE_FLOAT128_FALSE@	echo 'undef _GLIBCXX_USE_FLOAT128' > stamp-float128
1780
1781# This header is not installed, it's only used to build libstdc++ itself.
1782${host_builddir}/largefile-config.h: ${CONFIG_HEADER} stamp-${host_alias}
1783	@rm -f $@.tmp
1784	@-grep 'define _DARWIN_USE_64_BIT_INODE' ${CONFIG_HEADER} >> $@.tmp
1785	@-grep 'define _FILE_OFFSET_BITS' ${CONFIG_HEADER} >> $@.tmp
1786	@-grep 'define _LARGE_FILES' ${CONFIG_HEADER} >> $@.tmp
1787	@mv $@.tmp $@
1788
1789# NB: The non-empty default ldbl_compat works around an AIX sed
1790# oddity, see libstdc++/31957 for details.
1791${host_builddir}/c++config.h: ${CONFIG_HEADER} \
1792			      ${glibcxx_srcdir}/include/bits/c++config \
1793			      ${host_builddir}/largefile-config.h \
1794			      stamp-${host_alias} \
1795			      ${toplevel_srcdir}/gcc/DATESTAMP \
1796			      stamp-namespace-version \
1797			      stamp-visibility \
1798			      stamp-extern-template \
1799			      stamp-dual-abi \
1800			      stamp-cxx11-abi \
1801			      stamp-allocator-new \
1802			      stamp-float128
1803	@date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\
1804	release=`sed 's/^\([0-9]*\).*$$/\1/' ${toplevel_srcdir}/gcc/BASE-VER` ;\
1805	ns_version=`cat stamp-namespace-version` ;\
1806	visibility=`cat stamp-visibility` ;\
1807	externtemplate=`cat stamp-extern-template` ;\
1808	dualabi=`cat stamp-dual-abi` ;\
1809	cxx11abi=`cat stamp-cxx11-abi` ;\
1810	allocatornew=`cat stamp-allocator-new` ;\
1811	float128=`cat stamp-float128` ;\
1812	ldbl_compat='s,g,g,' ;\
1813	grep "^[	 ]*#[	 ]*define[	 ][	 ]*_GLIBCXX_LONG_DOUBLE_COMPAT[	 ][	 ]*1[	 ]*$$" \
1814	${CONFIG_HEADER} > /dev/null 2>&1 \
1815	&& ldbl_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_COMPAT 1,' ;\
1816	ldbl_alt128_compat='s,g,g,' ;\
1817	grep "^[	 ]*#[	 ]*define[	 ][	 ]*_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT[	 ][	 ]*1[	 ]*$$" \
1818	${CONFIG_HEADER} > /dev/null 2>&1 \
1819	&& ldbl_alt128_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT 1,' ;\
1820	verbose_assert='s,g,g,' ; \
1821	grep "^[	 ]*#[	 ]*define[	 ][	 ]*_GLIBCXX_HOSTED[	 ][	 ]*1[	 ]*$$" \
1822	${CONFIG_HEADER} > /dev/null 2>&1 \
1823	&& grep "^[	 ]*#[	 ]*define[	 ][	 ]*_GLIBCXX_VERBOSE[	 ][	 ]*1[	 ]*$$" \
1824	${CONFIG_HEADER} > /dev/null 2>&1 \
1825	&& verbose_assert='s,^#undef _GLIBCXX_VERBOSE_ASSERT$$,#define _GLIBCXX_VERBOSE_ASSERT 1,' ;\
1826	sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
1827	-e "s,define _GLIBCXX_RELEASE,define _GLIBCXX_RELEASE $$release," \
1828	-e "s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION $$ns_version," \
1829	-e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
1830	-e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
1831	-e "s,define _GLIBCXX_USE_DUAL_ABI, define _GLIBCXX_USE_DUAL_ABI $$dualabi," \
1832	-e "s,define _GLIBCXX_USE_CXX11_ABI, define _GLIBCXX_USE_CXX11_ABI $$cxx11abi," \
1833	-e "s,define _GLIBCXX_USE_ALLOCATOR_NEW, define _GLIBCXX_USE_ALLOCATOR_NEW $$allocatornew," \
1834	-e "s,define _GLIBCXX_USE_FLOAT128,$$float128," \
1835	-e "$$ldbl_compat" \
1836	-e "$$ldbl_alt128_compat" \
1837	-e "$$verbose_assert" \
1838	    < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
1839	sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
1840	    -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
1841	    -e 's/VERSION/_GLIBCXX_VERSION/g' \
1842	    -e 's/WORDS_/_GLIBCXX_WORDS_/g' \
1843	    -e 's/LT_OBJDIR/_GLIBCXX_LT_OBJDIR/g' \
1844	    -e 's/STDC_HEADERS/_GLIBCXX_STDC_HEADERS/g' \
1845	    -e 's/_DARWIN_USE_64_BIT_INODE/_GLIBCXX_DARWIN_USE_64_BIT_INODE/g' \
1846	    -e 's/_FILE_OFFSET_BITS/_GLIBCXX_FILE_OFFSET_BITS/g' \
1847	    -e 's/_LARGE_FILES/_GLIBCXX_LARGE_FILES/g' \
1848	    -e 's/ICONV_CONST/_GLIBCXX_ICONV_CONST/g' \
1849	    -e '/[	 ]_GLIBCXX_LONG_DOUBLE_COMPAT[	 ]/d' \
1850	    -e '/[	 ]_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT[	 ]/d' \
1851	    < ${CONFIG_HEADER} >> $@ ;\
1852	echo "" >> $@ ;\
1853	echo "#endif // _GLIBCXX_CXX_CONFIG_H" >> $@
1854
1855${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
1856	sed -e '/^#pragma/b' \
1857	    -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
1858	    -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
1859	    -e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
1860	    -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
1861	    < $< > $@
1862
1863${host_builddir}/gthr-single.h: ${toplevel_srcdir}/libgcc/gthr-single.h \
1864				  stamp-${host_alias}
1865	sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
1866	    -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
1867	    < $< > $@
1868
1869${host_builddir}/gthr-posix.h: ${toplevel_srcdir}/libgcc/gthr-posix.h \
1870				   stamp-${host_alias}
1871	sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
1872	    -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
1873	    -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
1874	    -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
1875	    < $< > $@
1876
1877${host_builddir}/gthr-default.h: ${toplevel_srcdir}/libgcc/${thread_header} \
1878				   stamp-${host_alias}
1879	sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
1880	    -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
1881	    -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
1882	    -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
1883	    -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
1884	    < $< > $@
1885
1886# Build two precompiled C++ includes, stdc++.h.gch/*.gch
1887${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
1888	-mkdir -p ${pch1_output_builddir}
1889	$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g -std=gnu++0x ${pch1_source} \
1890	-o $@
1891
1892${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
1893	-mkdir -p ${pch1_output_builddir}
1894	$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
1895
1896# Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
1897${pch2_output}: ${pch2_source} ${pch1_output}
1898	-mkdir -p ${pch2_output_builddir}
1899	$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@
1900
1901# Build a precompiled extension include, extc++.h.gch/O2.gch
1902${pch3_output}: ${pch3_source} ${pch2_output}
1903	-mkdir -p ${pch3_output_builddir}
1904	$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
1905
1906# For robustness sake (in light of junk files or in-source
1907# configuration), copy from the build or source tree to the install
1908# tree using only the human-maintained file lists and directory
1909# components.  Yes, with minor differences, this is sheer duplication
1910# of the staging rules above using $(INSTALL_DATA) instead of LN_S and
1911# `$(mkinstalldirs)' instead of `mkdir -p'.  In particular,
1912# host_headers_extra are taken out of the build tree staging area;
1913# the rest are taken from the original source tree.
1914
1915@GLIBCXX_HOSTED_TRUE@install-data-local: install-headers
1916@GLIBCXX_HOSTED_FALSE@install-data-local: install-freestanding-headers
1917
1918# This is a subset of the full install-headers rule.  We only need <ciso646>,
1919# <cstddef>, <cfloat>, <limits>, <climits>, <version>, <cstdint>, <cstdlib>,
1920# <new>, <typeinfo>, <exception>, <initializer_list>, <cstdalign>, <cstdarg>,
1921# <concepts>, <coroutine>, <cstdbool>, <type_traits>, <bit>, <atomic>,
1922# <source_location> and any files which they include (and which we provide).
1923# <new>, <typeinfo>, <exception>, <initializer_list> and <compare>
1924# are installed by libsupc++, so only the others and the sub-includes
1925# are copied here.
1926install-freestanding-headers:
1927	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/bits
1928	for file in c++0x_warning.h atomic_base.h concept_check.h move.h; do \
1929	  $(INSTALL_DATA) ${glibcxx_srcdir}/include/bits/$${file} $(DESTDIR)${gxx_include_dir}/bits; done
1930	$(mkinstalldirs) $(DESTDIR)${host_installdir}
1931	for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h \
1932	  ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \
1933	  ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h; do \
1934	  $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
1935	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
1936	for file in limits type_traits atomic bit concepts coroutine \
1937	  source_location version; do \
1938	  $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
1939	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
1940	for file in ciso646 cstddef cfloat climits cstdint cstdlib \
1941	  cstdalign cstdarg cstdbool; do \
1942	  $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
1943
1944# The real deal.
1945install-headers:
1946	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
1947	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
1948	for file in ${bits_headers}; do \
1949	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
1950	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir}
1951	for file in ${backward_headers}; do \
1952	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done
1953	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir}
1954	for file in ${ext_headers}; do \
1955	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done
1956	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir}
1957	for dir in ${pb_subdirs}; do \
1958	  $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/$${dir} ; done
1959	for file in ${pb_headers1}; do \
1960	  install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
1961	  relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
1962	  $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
1963	for file in ${pb_headers2}; do \
1964	  install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
1965	  relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
1966	  $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
1967	for file in ${pb_headers3}; do \
1968	  install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
1969	  relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
1970	  $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
1971	for file in ${pb_headers4}; do \
1972	  install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
1973	  relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
1974	  $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
1975	for file in ${pb_headers5}; do \
1976	  install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
1977	  relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
1978	  $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
1979	for file in ${pb_headers6}; do \
1980	  install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
1981	  relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
1982	  $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
1983	for file in ${pb_headers7}; do \
1984	  install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
1985	  relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
1986	  $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
1987	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir}
1988	for file in ${tr1_headers}; do \
1989	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done
1990	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr2_builddir}
1991	for file in ${tr2_headers}; do \
1992	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr2_builddir}; done
1993	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${decimal_builddir}
1994	for file in ${decimal_headers}; do \
1995	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${decimal_builddir}; done
1996	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_builddir}
1997	for file in ${experimental_headers}; do \
1998	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_builddir}; done
1999	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir}
2000	for file in ${experimental_bits_headers}; do \
2001	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir}; done
2002	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
2003	for file in ${c_base_headers}; do \
2004	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
2005	c_base_headers_extra_install='$(c_base_headers_extra)';\
2006	for file in $$c_base_headers_extra_install; do \
2007	  $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
2008	c_compatibility_headers_install='$(c_compatibility_headers_extra)';\
2009	for file in $$c_compatibility_headers_install; do \
2010	  $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done
2011	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
2012	for file in ${std_headers}; do \
2013	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
2014	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir}
2015	for file in ${debug_headers}; do \
2016	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done
2017	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${parallel_builddir}
2018	for file in ${parallel_headers}; do \
2019	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${parallel_builddir}; done
2020	$(mkinstalldirs) $(DESTDIR)${host_installdir}
2021	for file in ${host_headers} ${bits_host_headers} ${host_headers_extra} \
2022	 ${thread_host_headers}; do \
2023	  $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
2024	$(mkinstalldirs) $(DESTDIR)${host_installdir}/../ext
2025	for file in ${ext_host_headers}; do \
2026	  $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}/../ext; done
2027	$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pstl_builddir}
2028	for file in ${pstl_headers}; do \
2029	  $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${pstl_builddir}; done
2030
2031# To remove directories.
2032clean-local:
2033	rm -rf ${pch_output_dirs}
2034
2035# Stop implicit '.o' make rules from ever stomping on extensionless
2036# headers, in the improbable case where some foolish, crack-addled
2037# developer tries to create them via make in the include build
2038# directory. (This is more of an example of how this kind of rule can
2039# be made.)
2040.PRECIOUS: $(std_headers) $(c_base_headers) $(tr1_headers) $(tr2_headers)
2041	   $(decimal_headers) $(ext_headers) $(experimental_headers)
2042	   $(experimental_bits_headers)
2043$(std_headers): ; @:
2044$(c_base_headers): ; @:
2045$(tr1_headers): ; @:
2046$(decimal_headers): ; @:
2047$(ext_headers): ; @:
2048$(experimental_headers): ; @:
2049$(experimental_bits_headers): ; @:
2050
2051# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
2052@INCLUDE_DIR_NOTPARALLEL_TRUE@.NOTPARALLEL:
2053
2054# Tell versions [3.59,3.63) of GNU make to not export all variables.
2055# Otherwise a system limit (for SysV at least) may be exceeded.
2056.NOEXPORT:
2057