Files
gcc-reflection/libstdc++-v3/include/Makefile.in
Jakub Jelinek 62c126db6b libstdc++: Implement C++26 P3378R2 - constexpr exception types
The following patch attempts to implement the C++26 P3378R2 - constexpr
exception types paper.

This is quite complicated, because most of these classes which should
be constexpr-ized use solely or mostly out of line definitions in
libstdc++, both for historical, code size and dual ABI reasons, so that
one can throw these as exceptions between TUs with old vs. new (or vice
versa) ABIs.
For this reason, logic_error/runtime_error and classes derived from it
have the old ABI std::string object inside of them and the exported
APIs from libstdc++.so.6 ensure the right thing.

Now, because new invoked during constant evaluation needs to be deleted
during the same constant evaluation and can't leak into the constant
expressions, I think we don't have to use COW strings under the hood
(which aren't constexpr I guess because of reference counting/COW) and
we can use something else, the patch uses heap allocated std::string
object (where __cow_constexpr_string class has just a pointer to that).
As I think we still want to hide the ugly details if !consteval in the
library, the patch exports 8 __cow_string class symbols (6 existing which
were previously just not exported and 2 new ones) and if !consteval
calls those through extern "C" _Zmangled_name symbols.  The functions
are always_inline.

And then logic_error etc. have for C++26 (precisely for
__cpp_lib_constexpr_exceptions >= 202502L) constexpr definitions of
cdtors/methods.  This results in slightly larger code (a few insns at most)
at runtime for C++26, e.g. instead of calling say some logic error
cdtor/method with 2 arguments it calls some __cow_string one with 2
arguments but + 8 bytes pointer additions on both.

The patch also removes the __throw_format_error forward declaration
which apparently wasn't needed for anything as all __throw_format_error
users were either in <format> or included <format> before the uses,
reverts the
https://gcc.gnu.org/pipermail/libstdc++/2025-July/062598.html
patch and makes sure __throw_* functions (only those for exception types
which the P3378R2 or P3068R5 papers made constexpr usable and there are
actually constexpr/consteval uses of those) are constexpr for C++26
constexpr exceptions.

The patch does that by splitting the bits/functexcept.h header:
1) bits/functexcept.h stays for the __throw_* functions which are (at
least for now) never constexpr (the <ios>, <system_error>, <future>
and <functional> std::exception derived classes) or are never used
or never used in constexpr/consteval contexts (<exception>, <typeinfo>
std::exception derived classes and std::range_error).
2) bits/new_{throw,except}.h for __throw_bad_alloc/__throw_bad_array_new_length
and std::bad_alloc/std::bad_array_new_length (where <new> includes
<bits/new_except.h> and <bits/new_throw.h> as well for the C++26 constexpr
exceptions case)
3) for the most complicated <stdexcept> stuff, one header
addition to bits/stdexcept.h one header for the __throw_logic_error etc.
forward declarations, one header for the __throw_logic_error etc.
definitions and one header without header guards which will
depending on __glibcxx_exc_in_string include one or the other because
<string> vs. <string_view> vs. <stdexcept> have heavy interdependencies

2025-12-11  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/121114
libstdc++-v3/
	* include/bits/version.def: Implement C++26 P3378R2 - constexpr
	exception types.
	(constexpr_exceptions): Change value from 1 to 202502, remove
	no_stdname and TODO comments.
	* include/bits/version.h: Regenerate.
	* src/c++11/cow-stdexcept.cc (__cow_string(const char*)): New
	ctor.
	(__cow_string::c_str()): New method.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.35): Export 8 __cow_string
	symbols.
	* include/bits/new_except.h: New file.
	* include/bits/new_throw.h: New file.
	* include/bits/stdexcept_throw.h: New file.
	* include/bits/stdexcept_throwdef.h: New file.
	* include/bits/stdexcept_throwfwd.h: New file.
	* include/std/stdexcept: Include bits/stdexcept_except.h and move
	everything after <string> include except for std::range_error into
	include/bits/stdexcept_except.h.
	(std::range_error): If __cpp_lib_constexpr_exceptions >= 202502L
	make all cdtors and methods constexpr.
	* include/bits/stdexcept_except.h: New file.
	* include/std/optional (__glibcxx_want_constexpr_exceptions): Define
	before including bits/version.h.
	(bad_optional_access::what): Make constexpr for
	__cpp_lib_constexpr_exceptions >= 202502L.
	(__throw_bad_optional_access): Likewise.
	* include/std/expected (__glibcxx_want_constexpr_exceptions): Define
	before including bits/version.h.
	(bad_expected_access): Make cdtors and all methods constexpr for
	__cpp_lib_constexpr_exceptions >= 202502L.
	* include/std/format (__glibcxx_want_constexpr_exceptions): Define
	before including bits/version.h.
	(_GLIBCXX_CONSTEXPR_FORMAT_ERROR): Define and undef later.
	(format_error): Use _GLIBCXX_CONSTEXPR_FORMAT_ERROR on ctors.
	* include/std/variant (__glibcxx_want_constexpr_exceptions): Define
	before including bits/version.h.
	(_GLIBCXX_CONSTEXPR_BAD_VARIANT_ACCESS): Define and undef later.
	(bad_variant_access): Use it on ctors and what() method.
	(__throw_bad_variant_access): Use it here too.
	* testsuite/18_support/exception/version.cc: Adjust expected
	__cpp_lib_constexpr_exceptions value.
	* testsuite/19_diagnostics/runtime_error/constexpr.cc: New test.
	* testsuite/19_diagnostics/headers/stdexcept/version.cc: New test.
	* testsuite/19_diagnostics/logic_error/constexpr.cc: New test.
	* testsuite/20_util/expected/observers.cc (test_value_throw): Change
	return type to bool from void, return true at the end, add test
	to dereference what() first character.  Make it constexpr for
	__cpp_lib_constexpr_exceptions >= 202502L and add static_assert.
	* testsuite/20_util/expected/version.cc: Add tests for
	__cpp_lib_constexpr_exceptions value.
	* testsuite/20_util/variant/constexpr.cc: For
	__cpp_lib_constexpr_exceptions >= 202502L include <string>.
	(test_get): New function if __cpp_lib_constexpr_exceptions >= 202502L,
	assert calling it is true.
	* testsuite/20_util/variant/version.cc: Add tests for
	__cpp_lib_constexpr_exceptions value.
	* testsuite/20_util/optional/constexpr/observers/3.cc: Include
	testsuite_hooks.h.
	(eat, test01): New functions.  Assert test01() is true.
	* testsuite/20_util/optional/version.cc: Add tests for
	__cpp_lib_constexpr_exceptions value.
	* include/std/future: Add #include <bits/functexcept.h>.
	* include/std/shared_mutex: Include <bits/new_throw.h>.
	* include/std/flat_map: Include <bits/stdexcept_throw.h> instead of
	<bits/functexcept.h>.
	* include/std/syncstream: Remove <bits/functexcept.h> include.
	* include/std/flat_set: Likewise.
	* include/std/bitset: Include <bits/stdexcept_throw.h> instead of
	<bits/functexcept.h>.
	* include/std/string_view: Don't include <bits/functexcept.h>, include
	<bits/stdexcept_throw.h> early if __glibcxx_exc_in_string is not
	defined and include <bits/stdexcept_throw.h> at the end of
	the header again if __glibcxx_exc_in_string is 2 and C++26 constexpr
	exceptions are enabled.
	(__glibcxx_exc_in_string): Define if __glibcxx_exc_in_string wasn't
	defined before including <bits/stdexcept_throw.h>.
	* include/std/array: Include <bits/stdexcept_throw.h> instead of
	<bits/functexcept.h>.
	* include/std/inplace_vector: Likewise.
	* include/std/string: Include <bits/stdexcept_except.h> and
	<bits/stdexcept_throw.h> after bits/basic_string.tcc include if
	C++26 constexpr exceptions are enabled and include
	<bits/stdexcept_throw.h> instead of <bits/functexcept.h> early.
	(__glibcxx_exc_in_string): Define early to 1, undefine at the end.
	* include/std/deque: Include <bits/stdexcept_throw.h>.
	* include/bits/new_allocator.h: Include <bits/new_throw.h> instead
	of <bits/functexcept.h>.
	* include/bits/stl_algobase.h: Remove <bits/functexcept.h> include.
	* include/bits/stl_vector.h: Include <bits/stdexcept_throw.h> instead
	of <bits/functexcept.h>.
	* include/bits/memory_resource.h: Include <bits/new_throw.h> instead
	of <bits/functexcept.h>.
	* include/bits/functexcept.h: Guard everything after includes with
	#if _GLIBCXX_HOSTED.
	(__throw_bad_alloc, __throw_bad_array_new_length,  __throw_logic_error,
	__throw_domain_error, __throw_invalid_argument, __throw_length_error,
	__throw_out_of_range, __throw_out_of_range_fmt, __throw_runtime_error,
	__throw_overflow_error, __throw_underflow_error): Move declarations to
	other headers - <bits/new_throw.h> and <bits/stdexcept_throwfwd.h>.
	* include/bits/stl_map.h: Include <bits/stdexcept_throw.h> instead
	of <bits/functexcept.h>.
	* include/bits/hashtable_policy.h: Include <bits/stdexcept_throw.h>
	instead of <bits/functexcept.h>.
	* include/bits/formatfwd.h (std::__throw_format_error): Remove
	declaration.
	* include/bits/specfun.h: Include <bits/stdexcept_throw.h> instead of
	<bits/functexcept.h>.
	* include/bits/basic_ios.h: Include <bits/functexcept.h>.
	* include/bits/locale_classes.h: Likewise.
	* include/tr1/cmath: Include <bits/stdexcept_throw.h> instead of
	<bits/functexcept.h>.
	* include/tr1/memory: Remove <bits/functexcept.h> include.
	* include/tr1/array: Include <bits/stdexcept_throw.h>.
	* include/ext/vstring_util.h: Include <bits/stdexcept_throw.h> instead
	of <bits/functexcept.h>.
	* include/ext/bitmap_allocator.h: Include <bits/new_throw.h> instead
	of <bits/functexcept.h>.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/debug_allocator.h: Include <bits/stdexcept_throw.h>
	instead of <bits/functexcept.h>.
	* include/ext/concurrence.h: Include <bits/exception_defines.h>
	instead of <bits/functexcept.h>.
	* include/ext/throw_allocator.h: Include <bits/new_throw.h> and
	<bits/stdexcept_throw.h> instead of <bits/functexcept.h>.
	* include/ext/string_conversions.h: Include <bits/stdexcept_throw.h>
	instead of <bits/functexcept.h>.
	* include/ext/pool_allocator.h: Include <bits/new_throw.h> instead
	of <bits/functexcept.h>.
	* include/ext/ropeimpl.h: Include <bits/stdexcept_throw.h> instead of
	<bits/functexcept.h>.
	* include/tr2/dynamic_bitset: Likewise.
	* include/experimental/optional: Include <bits/exception_defines.h>
	instead of <bits/functexcept.h>.
	* include/Makefile.am (bits_freestanding): Add
	${bits_srcdir}/{new,stdexcept}_{except,throw}.h
	and ${bits_srcdir}/stdexcept_throw{fwd,def}.h.
	* include/Makefile.in: Regenerate.
	* src/c++17/floating_from_chars.cc: Remove <bits/functexcept.h>
	include.
	* src/c++11/regex.cc: Likewise.
	* src/c++11/functexcept.cc: Likewise.
	* src/c++11/snprintf_lite.cc: Include <bits/stdexcept_throw.h> instead
	of <bits/functexcept.h>.
	* src/c++11/thread.cc: Include <bits/functexcept.h>.
	* testsuite/util/testsuite_hooks.h: Include <bits/stdexcept_throw.h>
	instead of <bits/functexcept.h>.
	* testsuite/util/io/verified_cmd_line_input.cc: Include
	<bits/exception_defines.h> instead of <bits/functexcept.h>.
	* testsuite/20_util/allocator/105975.cc: Expect different diagnostics
	for C++26.
	* testsuite/23_containers/inplace_vector/access/capacity.cc: Remove
	#error, guard if consteval { return; } with
	#ifndef __cpp_lib_constexpr_exceptions.
	* testsuite/23_containers/inplace_vector/access/elem.cc: Likewise.
	* testsuite/23_containers/inplace_vector/cons/1.cc: Likewise.
	* testsuite/23_containers/inplace_vector/cons/from_range.cc: Likewise.
	* testsuite/23_containers/inplace_vector/modifiers/single_insert.cc:
	Likewise.
	* testsuite/23_containers/inplace_vector/modifiers/assign.cc:
	Likewise.
	* testsuite/23_containers/inplace_vector/modifiers/multi_insert.cc:
	Likewise.
	* libsupc++/new: Include <bits/new_except.h>.
	(std::bad_alloc, std::bad_array_new_length): Move defintion to
	<bits/new_except.h>.
libgomp/
	* omp.h.in: Include <bits/new_throw.h> instead of
	<bits/functexcept.h>.
gcc/testsuite/
	* g++.dg/tree-ssa/pr110819.C: Guard scan-tree-dump-not delete on
	c++23_down and add comment explaining why C++26 fails that.
	* g++.dg/tree-ssa/pr96945.C: Likewise.
	* g++.dg/tree-ssa/pr109442.C: Likewise.
	* g++.dg/tree-ssa/pr116868.C: Likewise.
	* g++.dg/tree-ssa/pr58483.C: Likewise.
2025-12-11 19:54:44 +01:00

2101 lines
83 KiB
Makefile

# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
false; \
elif test -n '$(MAKE_HOST)'; then \
true; \
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
true; \
else \
false; \
fi; \
}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = include
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/clang-plugin.m4 \
$(top_srcdir)/../config/enable.m4 \
$(top_srcdir)/../config/futex.m4 \
$(top_srcdir)/../config/gcc-plugin.m4 \
$(top_srcdir)/../config/hwcaps.m4 \
$(top_srcdir)/../config/iconv.m4 \
$(top_srcdir)/../config/lead-dot.m4 \
$(top_srcdir)/../config/lib-ld.m4 \
$(top_srcdir)/../config/lib-link.m4 \
$(top_srcdir)/../config/lib-prefix.m4 \
$(top_srcdir)/../config/lthostflags.m4 \
$(top_srcdir)/../config/multi.m4 \
$(top_srcdir)/../config/no-executables.m4 \
$(top_srcdir)/../config/override.m4 \
$(top_srcdir)/../config/toolexeclibdir.m4 \
$(top_srcdir)/../config/unwind_ipinfo.m4 \
$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
$(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \
$(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \
$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/../config/gc++filt.m4 \
$(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \
$(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp =
am__depfiles_maybe =
SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
ACLOCAL = @ACLOCAL@
ALLOCATOR_H = @ALLOCATOR_H@
ALLOCATOR_NAME = @ALLOCATOR_NAME@
ALLOC_FILE = @ALLOC_FILE@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
ATOMIC_FLAGS = @ATOMIC_FLAGS@
ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@
BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@
BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@
BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@
BASIC_FILE_CC = @BASIC_FILE_CC@
BASIC_FILE_H = @BASIC_FILE_H@
CC = @CC@
CCODECVT_CC = @CCODECVT_CC@
CCOLLATE_CC = @CCOLLATE_CC@
CCTYPE_CC = @CCTYPE_CC@
CFLAGS = @CFLAGS@
CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
CMESSAGES_CC = @CMESSAGES_CC@
CMESSAGES_H = @CMESSAGES_H@
CMONEY_CC = @CMONEY_CC@
CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
CSTDIO_H = @CSTDIO_H@
CTIME_CC = @CTIME_CC@
CTIME_H = @CTIME_H@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXFILT = @CXXFILT@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
DBLATEX = @DBLATEX@
DEBUG_FLAGS = @DEBUG_FLAGS@
DEFS = @DEFS@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EH_POOL_FLAGS = @EH_POOL_FLAGS@
ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@
EXEEXT = @EXEEXT@
EXTRA_CFLAGS = @EXTRA_CFLAGS@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
FGREP = @FGREP@
FORMAT_FILE = @FORMAT_FILE@
FREESTANDING_FLAGS = @FREESTANDING_FLAGS@
GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
GLIBCXX_LIBS = @GLIBCXX_LIBS@
GREP = @GREP@
HWCAP_CFLAGS = @HWCAP_CFLAGS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CONFIG = @LLVM_CONFIG@
LN_S = @LN_S@
LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@
LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@
LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
OPT_LDFLAGS = @OPT_LDFLAGS@
OS_INC_SRCDIR = @OS_INC_SRCDIR@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PDFLATEX = @PDFLATEX@
RANLIB = @RANLIB@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SYMVER_FILE = @SYMVER_FILE@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VIEW_FILE = @VIEW_FILE@
VTV_CXXFLAGS = @VTV_CXXFLAGS@
VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@
VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@
WARN_FLAGS = @WARN_FLAGS@
XMLCATALOG = @XMLCATALOG@
XMLLINT = @XMLLINT@
XSLTPROC = @XSLTPROC@
XSL_STYLE_DIR = @XSL_STYLE_DIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
baseline_dir = @baseline_dir@
baseline_subdir_switch = @baseline_subdir_switch@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
check_msgfmt = @check_msgfmt@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
get_gcc_base_ver = @get_gcc_base_ver@
glibcxx_MOFILES = @glibcxx_MOFILES@
glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
glibcxx_POFILES = @glibcxx_POFILES@
glibcxx_builddir = @glibcxx_builddir@
glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@
glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@
glibcxx_cxx98_abi = @glibcxx_cxx98_abi@
glibcxx_localedir = @glibcxx_localedir@
glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@
glibcxx_prefixdir = @glibcxx_prefixdir@
glibcxx_srcdir = @glibcxx_srcdir@
glibcxx_toolexecdir = @glibcxx_toolexecdir@
glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
libtool_VERSION = @libtool_VERSION@
localedir = @localedir@
localstatedir = @localstatedir@
lt_host_flags = @lt_host_flags@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
port_specific_symbol_files = @port_specific_symbol_files@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
python_mod_dir = @python_mod_dir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
thread_header = @thread_header@
tmake_file = @tmake_file@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
toplevel_builddir = @toplevel_builddir@
toplevel_srcdir = @toplevel_srcdir@
# May be used by various substitution variables.
gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
MAINT_CHARSET = latin1
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
PWD_COMMAND = $${PWDCMD-pwd}
STAMP = echo timestamp >
toolexecdir = $(glibcxx_toolexecdir)
toolexeclibdir = $(glibcxx_toolexeclibdir)
@ENABLE_WERROR_FALSE@WERROR_FLAG =
@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror
@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS =
@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates
@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS =
@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS)
# These bits are all figured out from configure. Look in acinclude.m4
# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
CONFIG_CXXFLAGS = \
$(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS)
WARN_CXXFLAGS = \
$(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
# -I/-D flags to pass when compiling.
AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS)
# Standard C++ includes.
std_srcdir = ${glibcxx_srcdir}/include/std
std_builddir = .
std_freestanding = \
${std_srcdir}/algorithm \
${std_srcdir}/array \
${std_srcdir}/atomic \
${std_srcdir}/bit \
${std_srcdir}/bitset \
${std_srcdir}/concepts \
${std_srcdir}/coroutine \
${std_srcdir}/expected \
${std_srcdir}/functional \
${std_srcdir}/generator \
${std_srcdir}/iterator \
${std_srcdir}/limits \
${std_srcdir}/mdspan \
${std_srcdir}/memory \
${std_srcdir}/numbers \
${std_srcdir}/numeric \
${std_srcdir}/optional \
${std_srcdir}/ranges \
${std_srcdir}/ratio \
${std_srcdir}/scoped_allocator \
${std_srcdir}/source_location \
${std_srcdir}/span \
${std_srcdir}/string_view \
${std_srcdir}/tuple \
${std_srcdir}/type_traits \
${std_srcdir}/typeindex \
${std_srcdir}/utility \
${std_srcdir}/variant \
${std_srcdir}/version
@GLIBCXX_HOSTED_FALSE@std_headers = ${std_freestanding}
@GLIBCXX_HOSTED_TRUE@std_headers = \
@GLIBCXX_HOSTED_TRUE@ ${std_freestanding} \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/any \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/barrier \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/charconv \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/chrono \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/codecvt \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/complex \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/condition_variable \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/debugging \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/deque \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/execution \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/filesystem \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/flat_map \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/flat_set \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/format \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/forward_list \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/fstream \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/future \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/inplace_vector \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/iomanip \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/ios \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/iosfwd \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/iostream \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/istream \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/latch \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/list \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/locale \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/map \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/memory_resource \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/mutex \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/ostream \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/print \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/queue \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/random \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/regex \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/semaphore \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/set \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/shared_mutex \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/spanstream \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/sstream \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/syncstream \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stack \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stacktrace \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stdexcept \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stdfloat \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/stop_token \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/streambuf \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/string \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/system_error \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/text_encoding \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/thread \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/unordered_map \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/unordered_set \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/valarray \
@GLIBCXX_HOSTED_TRUE@ ${std_srcdir}/vector
bits_srcdir = ${glibcxx_srcdir}/include/bits
bits_builddir = ./bits
bits_freestanding = \
${bits_srcdir}/algorithmfwd.h \
${bits_srcdir}/align.h \
${bits_srcdir}/allocator.h \
${bits_srcdir}/alloc_traits.h \
${bits_srcdir}/atomic_base.h \
${bits_srcdir}/c++0x_warning.h \
${bits_srcdir}/boost_concept_check.h \
${bits_srcdir}/concept_check.h \
${bits_srcdir}/char_traits.h \
${bits_srcdir}/cpp_type_traits.h \
${bits_srcdir}/elements_of.h \
${bits_srcdir}/enable_special_members.h \
${bits_srcdir}/functexcept.h \
${bits_srcdir}/functional_hash.h \
${bits_srcdir}/intcmp.h \
${bits_srcdir}/invoke.h \
${bits_srcdir}/iterator_concepts.h \
${bits_srcdir}/new_except.h \
${bits_srcdir}/new_throw.h \
${bits_srcdir}/max_size_type.h \
${bits_srcdir}/memoryfwd.h \
${bits_srcdir}/monostate.h \
${bits_srcdir}/move.h \
${bits_srcdir}/ostream.h \
${bits_srcdir}/out_ptr.h \
${bits_srcdir}/predefined_ops.h \
${bits_srcdir}/parse_numbers.h \
${bits_srcdir}/ptr_traits.h \
${bits_srcdir}/range_access.h \
${bits_srcdir}/ranges_algo.h \
${bits_srcdir}/ranges_algobase.h \
${bits_srcdir}/ranges_base.h \
${bits_srcdir}/ranges_cmp.h \
${bits_srcdir}/ranges_uninitialized.h \
${bits_srcdir}/ranges_util.h \
${bits_srcdir}/refwrap.h \
${bits_srcdir}/sat_arith.h \
${bits_srcdir}/stdexcept_except.h \
${bits_srcdir}/stdexcept_throw.h \
${bits_srcdir}/stdexcept_throwdef.h \
${bits_srcdir}/stdexcept_throwfwd.h \
${bits_srcdir}/stl_algo.h \
${bits_srcdir}/stl_algobase.h \
${bits_srcdir}/stl_construct.h \
${bits_srcdir}/stl_function.h \
${bits_srcdir}/stl_iterator.h \
${bits_srcdir}/stl_iterator_base_funcs.h \
${bits_srcdir}/stl_iterator_base_types.h \
${bits_srcdir}/stl_numeric.h \
${bits_srcdir}/stl_heap.h \
${bits_srcdir}/stl_pair.h \
${bits_srcdir}/stl_raw_storage_iter.h \
${bits_srcdir}/stl_relops.h \
${bits_srcdir}/stl_uninitialized.h \
${bits_srcdir}/text_encoding-data.h \
${bits_srcdir}/version.h \
${bits_srcdir}/string_view.tcc \
${bits_srcdir}/unicode.h \
${bits_srcdir}/unicode-data.h \
${bits_srcdir}/uniform_int_dist.h \
${bits_srcdir}/unique_ptr.h \
${bits_srcdir}/uses_allocator.h \
${bits_srcdir}/uses_allocator_args.h \
${bits_srcdir}/utility.h
@GLIBCXX_HOSTED_FALSE@bits_headers = ${bits_freestanding}
@GLIBCXX_HOSTED_TRUE@bits_headers = \
@GLIBCXX_HOSTED_TRUE@ ${bits_freestanding} \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/allocated_ptr.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/atomic_futex.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/atomic_timed_wait.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/atomic_wait.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/basic_ios.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/basic_ios.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/basic_string.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/basic_string.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/binders.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/charconv.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/chrono.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/chrono_io.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/codecvt.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/cow_string.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/cpyfunc_impl.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/deque.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/erase_if.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/formatfwd.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/forward_list.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/forward_list.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fs_dir.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fs_fwd.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fs_ops.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fs_path.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/fstream.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/funcref_impl.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/funcwrap.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/gslice.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/gslice_array.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/hashtable.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/hashtable_policy.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/indirect.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/indirect_array.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/ios_base.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/istream.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/list.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_classes.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_classes.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_conv.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_facets.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_facets.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_facets_nonio.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/locale_facets_nonio.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/localefwd.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/mask_array.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/memory_resource.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/mofunc_impl.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/new_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/node_handle.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/ostream.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/ostream_insert.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/postypes.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/quoted_string.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/random.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/random.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_constants.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_error.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_scanner.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_scanner.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_automaton.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_automaton.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_compiler.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_compiler.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_executor.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/regex_executor.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/requires_hosted.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/semaphore_base.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/shared_ptr.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/shared_ptr_atomic.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/shared_ptr_base.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/slice_array.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/specfun.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/sstream.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/std_abs.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/std_function.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/std_mutex.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/std_thread.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_bvector.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_deque.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_list.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_map.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_multimap.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_multiset.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_queue.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_relops.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_set.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_stack.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_tempbuf.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_tree.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stl_vector.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stream_iterator.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/streambuf_iterator.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/streambuf.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/stringfwd.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/this_thread_sleep.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/unique_lock.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/unordered_map.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/unordered_set.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/valarray_array.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/valarray_array.tcc \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/valarray_before.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/valarray_after.h \
@GLIBCXX_HOSTED_TRUE@ ${bits_srcdir}/vector.tcc
bits_host_headers = \
${glibcxx_srcdir}/${CPU_OPT_BITS_RANDOM}
bits_sup_srcdir = ${glibcxx_srcdir}/libsupc++
bits_sup_headers = \
${bits_sup_srcdir}/atomic_lockfree_defines.h \
${bits_sup_srcdir}/cxxabi_forced.h \
${bits_sup_srcdir}/cxxabi_init_exception.h \
${bits_sup_srcdir}/exception.h \
${bits_sup_srcdir}/exception_defines.h \
${bits_sup_srcdir}/exception_ptr.h \
${bits_sup_srcdir}/hash_bytes.h \
${bits_sup_srcdir}/nested_exception.h
# C++17 Parallel Algorithm Includes.
pstl_srcdir = ${glibcxx_srcdir}/include/pstl
pstl_builddir = ./pstl
pstl_headers = \
${pstl_srcdir}/algorithm_fwd.h \
${pstl_srcdir}/algorithm_impl.h \
${pstl_srcdir}/execution_defs.h \
${pstl_srcdir}/execution_impl.h \
${pstl_srcdir}/glue_algorithm_defs.h \
${pstl_srcdir}/glue_algorithm_impl.h \
${pstl_srcdir}/glue_execution_defs.h \
${pstl_srcdir}/glue_memory_defs.h \
${pstl_srcdir}/glue_memory_impl.h \
${pstl_srcdir}/glue_numeric_defs.h \
${pstl_srcdir}/glue_numeric_impl.h \
${pstl_srcdir}/memory_impl.h \
${pstl_srcdir}/numeric_fwd.h \
${pstl_srcdir}/numeric_impl.h \
${pstl_srcdir}/parallel_backend.h \
${pstl_srcdir}/parallel_backend_tbb.h \
${pstl_srcdir}/parallel_backend_serial.h \
${pstl_srcdir}/parallel_backend_utils.h \
${pstl_srcdir}/parallel_impl.h \
${pstl_srcdir}/pstl_config.h \
${pstl_srcdir}/unseq_backend_simd.h \
${pstl_srcdir}/utils.h
backward_srcdir = ${glibcxx_srcdir}/include/backward
backward_builddir = ./backward
backward_freestanding = \
${backward_srcdir}/auto_ptr.h \
${backward_srcdir}/binders.h
@GLIBCXX_HOSTED_FALSE@backward_headers = ${backward_freestanding}
@GLIBCXX_HOSTED_TRUE@backward_headers = \
@GLIBCXX_HOSTED_TRUE@ ${backward_freestanding} \
@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/backward_warning.h \
@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/hash_map \
@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/hash_set \
@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/hash_fun.h \
@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/hashtable.h \
@GLIBCXX_HOSTED_TRUE@ ${backward_srcdir}/strstream
pb_srcdir = ${glibcxx_srcdir}/include/ext/pb_ds
pb_builddir = ./ext/pb_ds
pb_subdirs = \
${pb_builddir}/detail \
${pb_builddir}/detail/pairing_heap_ \
${pb_builddir}/detail/splay_tree_ \
${pb_builddir}/detail/list_update_map_ \
${pb_builddir}/detail/branch_policy \
${pb_builddir}/detail/trie_policy \
${pb_builddir}/detail/gp_hash_table_map_ \
${pb_builddir}/detail/tree_policy \
${pb_builddir}/detail/binomial_heap_base_ \
${pb_builddir}/detail/resize_policy \
${pb_builddir}/detail/bin_search_tree_ \
${pb_builddir}/detail/binomial_heap_ \
${pb_builddir}/detail/thin_heap_ \
${pb_builddir}/detail/pat_trie_ \
${pb_builddir}/detail/cc_hash_table_map_ \
${pb_builddir}/detail/rc_binomial_heap_ \
${pb_builddir}/detail/left_child_next_sibling_heap_ \
${pb_builddir}/detail/unordered_iterator \
${pb_builddir}/detail/binary_heap_ \
${pb_builddir}/detail/ov_tree_map_ \
${pb_builddir}/detail/hash_fn \
${pb_builddir}/detail/eq_fn \
${pb_builddir}/detail/rb_tree_map_ \
${pb_builddir}/detail/list_update_policy
# The ability for make and the underlying host to deal with this
# unwieldy list as one entire entity is not a sure thing, and may
# cause build errors. Thus, split one list into many smaller
# mini-lists, with the maximum size per mini-list of no more than 42.
pb_headers1 = \
${pb_srcdir}/assoc_container.hpp \
${pb_srcdir}/exception.hpp \
${pb_srcdir}/hash_policy.hpp \
${pb_srcdir}/list_update_policy.hpp \
${pb_srcdir}/priority_queue.hpp \
${pb_srcdir}/tag_and_trait.hpp \
${pb_srcdir}/tree_policy.hpp \
${pb_srcdir}/trie_policy.hpp \
${pb_srcdir}/detail/branch_policy/branch_policy.hpp \
${pb_srcdir}/detail/branch_policy/null_node_metadata.hpp \
${pb_srcdir}/detail/branch_policy/traits.hpp \
${pb_srcdir}/detail/binary_heap_/binary_heap_.hpp \
${pb_srcdir}/detail/binary_heap_/const_iterator.hpp \
${pb_srcdir}/detail/binary_heap_/point_const_iterator.hpp \
${pb_srcdir}/detail/binary_heap_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/debug_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/entry_cmp.hpp \
${pb_srcdir}/detail/binary_heap_/entry_pred.hpp \
${pb_srcdir}/detail/binary_heap_/erase_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/find_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/info_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/insert_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/iterators_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/policy_access_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/resize_policy.hpp \
${pb_srcdir}/detail/binary_heap_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/binary_heap_/trace_fn_imps.hpp \
${pb_srcdir}/detail/binomial_heap_base_/binomial_heap_base_.hpp \
${pb_srcdir}/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/binomial_heap_base_/debug_fn_imps.hpp \
${pb_srcdir}/detail/binomial_heap_base_/erase_fn_imps.hpp \
${pb_srcdir}/detail/binomial_heap_base_/find_fn_imps.hpp \
${pb_srcdir}/detail/binomial_heap_base_/insert_fn_imps.hpp \
${pb_srcdir}/detail/binomial_heap_base_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/binomial_heap_/binomial_heap_.hpp \
${pb_srcdir}/detail/binomial_heap_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/binomial_heap_/debug_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/bin_search_tree_.hpp
pb_headers2 = \
${pb_srcdir}/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/debug_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/erase_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/find_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/info_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/insert_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/iterators_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/node_iterators.hpp \
${pb_srcdir}/detail/bin_search_tree_/point_iterators.hpp \
${pb_srcdir}/detail/bin_search_tree_/policy_access_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/r_erase_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/rotate_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/bin_search_tree_/traits.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/cc_ht_map_.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/cmp_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/debug_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/entry_list_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/erase_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/find_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/info_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/insert_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/iterators_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/policy_access_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/resize_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/cc_hash_table_map_/size_fn_imps.hpp
pb_headers3 = \
${pb_srcdir}/detail/cc_hash_table_map_/trace_fn_imps.hpp \
${pb_srcdir}/detail/cond_dealtor.hpp \
${pb_srcdir}/detail/container_base_dispatch.hpp \
${pb_srcdir}/detail/eq_fn/eq_by_less.hpp \
${pb_srcdir}/detail/eq_fn/hash_eq_fn.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/debug_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/erase_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/find_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/gp_ht_map_.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/info_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/insert_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/iterator_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/policy_access_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/resize_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp \
${pb_srcdir}/detail/gp_hash_table_map_/trace_fn_imps.hpp \
${pb_srcdir}/detail/hash_fn/direct_mask_range_hashing_imp.hpp \
${pb_srcdir}/detail/hash_fn/direct_mod_range_hashing_imp.hpp \
${pb_srcdir}/detail/hash_fn/linear_probe_fn_imp.hpp \
${pb_srcdir}/detail/hash_fn/mask_based_range_hashing.hpp \
${pb_srcdir}/detail/hash_fn/mod_based_range_hashing.hpp \
${pb_srcdir}/detail/hash_fn/probe_fn_base.hpp \
${pb_srcdir}/detail/hash_fn/quadratic_probe_fn_imp.hpp \
${pb_srcdir}/detail/hash_fn/ranged_hash_fn.hpp \
${pb_srcdir}/detail/hash_fn/ranged_probe_fn.hpp
pb_headers4 = \
${pb_srcdir}/detail/hash_fn/sample_probe_fn.hpp \
${pb_srcdir}/detail/hash_fn/sample_ranged_hash_fn.hpp \
${pb_srcdir}/detail/hash_fn/sample_ranged_probe_fn.hpp \
${pb_srcdir}/detail/hash_fn/sample_range_hashing.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/const_iterator.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/point_const_iterator.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/info_fn_imps.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/node.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp \
${pb_srcdir}/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp \
${pb_srcdir}/detail/list_update_map_/constructor_destructor_fn_imps.hpp \
${pb_srcdir}/detail/list_update_map_/debug_fn_imps.hpp \
${pb_srcdir}/detail/list_update_map_/entry_metadata_base.hpp \
${pb_srcdir}/detail/list_update_map_/erase_fn_imps.hpp \
${pb_srcdir}/detail/list_update_map_/find_fn_imps.hpp \
${pb_srcdir}/detail/list_update_map_/info_fn_imps.hpp \
${pb_srcdir}/detail/list_update_map_/insert_fn_imps.hpp \
${pb_srcdir}/detail/list_update_map_/iterators_fn_imps.hpp \
${pb_srcdir}/detail/list_update_map_/lu_map_.hpp \
${pb_srcdir}/detail/list_update_map_/trace_fn_imps.hpp \
${pb_srcdir}/detail/list_update_policy/lu_counter_metadata.hpp \
${pb_srcdir}/detail/list_update_policy/sample_update_policy.hpp \
${pb_srcdir}/detail/debug_map_base.hpp \
${pb_srcdir}/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/ov_tree_map_/debug_fn_imps.hpp \
${pb_srcdir}/detail/ov_tree_map_/erase_fn_imps.hpp \
${pb_srcdir}/detail/ov_tree_map_/info_fn_imps.hpp \
${pb_srcdir}/detail/ov_tree_map_/insert_fn_imps.hpp \
${pb_srcdir}/detail/ov_tree_map_/iterators_fn_imps.hpp \
${pb_srcdir}/detail/ov_tree_map_/node_iterators.hpp \
${pb_srcdir}/detail/ov_tree_map_/ov_tree_map_.hpp
pb_headers5 = \
${pb_srcdir}/detail/ov_tree_map_/policy_access_fn_imps.hpp \
${pb_srcdir}/detail/ov_tree_map_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/ov_tree_map_/traits.hpp \
${pb_srcdir}/detail/pairing_heap_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/pairing_heap_/debug_fn_imps.hpp \
${pb_srcdir}/detail/pairing_heap_/erase_fn_imps.hpp \
${pb_srcdir}/detail/pairing_heap_/find_fn_imps.hpp \
${pb_srcdir}/detail/pairing_heap_/insert_fn_imps.hpp \
${pb_srcdir}/detail/pairing_heap_/pairing_heap_.hpp \
${pb_srcdir}/detail/pairing_heap_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/debug_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/erase_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/find_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/info_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/insert_join_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/iterators_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/pat_trie_.hpp \
${pb_srcdir}/detail/pat_trie_/pat_trie_base.hpp \
${pb_srcdir}/detail/pat_trie_/policy_access_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/r_erase_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/rotate_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/split_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/synth_access_traits.hpp \
${pb_srcdir}/detail/pat_trie_/trace_fn_imps.hpp \
${pb_srcdir}/detail/pat_trie_/traits.hpp \
${pb_srcdir}/detail/pat_trie_/update_fn_imps.hpp \
${pb_srcdir}/detail/priority_queue_base_dispatch.hpp \
${pb_srcdir}/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/rb_tree_map_/debug_fn_imps.hpp
pb_headers6 = \
${pb_srcdir}/detail/rb_tree_map_/erase_fn_imps.hpp \
${pb_srcdir}/detail/rb_tree_map_/find_fn_imps.hpp \
${pb_srcdir}/detail/rb_tree_map_/info_fn_imps.hpp \
${pb_srcdir}/detail/rb_tree_map_/insert_fn_imps.hpp \
${pb_srcdir}/detail/rb_tree_map_/node.hpp \
${pb_srcdir}/detail/rb_tree_map_/rb_tree_.hpp \
${pb_srcdir}/detail/rb_tree_map_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/rb_tree_map_/traits.hpp \
${pb_srcdir}/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/rc_binomial_heap_/debug_fn_imps.hpp \
${pb_srcdir}/detail/rc_binomial_heap_/erase_fn_imps.hpp \
${pb_srcdir}/detail/rc_binomial_heap_/insert_fn_imps.hpp \
${pb_srcdir}/detail/rc_binomial_heap_/rc_binomial_heap_.hpp \
${pb_srcdir}/detail/rc_binomial_heap_/rc.hpp \
${pb_srcdir}/detail/rc_binomial_heap_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/rc_binomial_heap_/trace_fn_imps.hpp \
${pb_srcdir}/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp \
${pb_srcdir}/detail/resize_policy/hash_exponential_size_policy_imp.hpp \
${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp \
${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp \
${pb_srcdir}/detail/resize_policy/hash_prime_size_policy_imp.hpp \
${pb_srcdir}/detail/resize_policy/hash_standard_resize_policy_imp.hpp \
${pb_srcdir}/detail/resize_policy/sample_resize_policy.hpp \
${pb_srcdir}/detail/resize_policy/sample_resize_trigger.hpp \
${pb_srcdir}/detail/resize_policy/sample_size_policy.hpp \
${pb_srcdir}/detail/splay_tree_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/splay_tree_/debug_fn_imps.hpp \
${pb_srcdir}/detail/splay_tree_/erase_fn_imps.hpp \
${pb_srcdir}/detail/splay_tree_/find_fn_imps.hpp \
${pb_srcdir}/detail/splay_tree_/info_fn_imps.hpp \
${pb_srcdir}/detail/splay_tree_/insert_fn_imps.hpp \
${pb_srcdir}/detail/splay_tree_/node.hpp \
${pb_srcdir}/detail/splay_tree_/splay_fn_imps.hpp \
${pb_srcdir}/detail/splay_tree_/splay_tree_.hpp \
${pb_srcdir}/detail/splay_tree_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/splay_tree_/traits.hpp \
${pb_srcdir}/detail/standard_policies.hpp \
${pb_srcdir}/detail/thin_heap_/constructors_destructor_fn_imps.hpp \
${pb_srcdir}/detail/thin_heap_/debug_fn_imps.hpp \
${pb_srcdir}/detail/thin_heap_/erase_fn_imps.hpp
pb_headers7 = \
${pb_srcdir}/detail/thin_heap_/find_fn_imps.hpp \
${pb_srcdir}/detail/thin_heap_/insert_fn_imps.hpp \
${pb_srcdir}/detail/thin_heap_/split_join_fn_imps.hpp \
${pb_srcdir}/detail/thin_heap_/thin_heap_.hpp \
${pb_srcdir}/detail/thin_heap_/trace_fn_imps.hpp \
${pb_srcdir}/detail/tree_policy/node_metadata_selector.hpp \
${pb_srcdir}/detail/tree_policy/order_statistics_imp.hpp \
${pb_srcdir}/detail/tree_policy/sample_tree_node_update.hpp \
${pb_srcdir}/detail/tree_trace_base.hpp \
${pb_srcdir}/detail/trie_policy/node_metadata_selector.hpp \
${pb_srcdir}/detail/trie_policy/order_statistics_imp.hpp \
${pb_srcdir}/detail/trie_policy/prefix_search_node_update_imp.hpp \
${pb_srcdir}/detail/trie_policy/sample_trie_access_traits.hpp \
${pb_srcdir}/detail/trie_policy/sample_trie_node_update.hpp \
${pb_srcdir}/detail/trie_policy/trie_string_access_traits_imp.hpp \
${pb_srcdir}/detail/trie_policy/trie_policy_base.hpp \
${pb_srcdir}/detail/types_traits.hpp \
${pb_srcdir}/detail/type_utils.hpp \
${pb_srcdir}/detail/unordered_iterator/const_iterator.hpp \
${pb_srcdir}/detail/unordered_iterator/point_const_iterator.hpp \
${pb_srcdir}/detail/unordered_iterator/iterator.hpp \
${pb_srcdir}/detail/unordered_iterator/point_iterator.hpp
ext_srcdir = ${glibcxx_srcdir}/include/ext
ext_builddir = ./ext
ext_freestanding = \
${ext_srcdir}/aligned_buffer.h \
${ext_srcdir}/alloc_traits.h \
${ext_srcdir}/atomicity.h \
${ext_srcdir}/cast.h \
${ext_srcdir}/concurrence.h \
${ext_srcdir}/numeric_traits.h \
${ext_srcdir}/iterator \
${ext_srcdir}/pointer.h \
${ext_srcdir}/type_traits.h \
${ext_srcdir}/typelist.h
@GLIBCXX_HOSTED_FALSE@ext_headers = ${ext_freestanding}
@GLIBCXX_HOSTED_TRUE@ext_headers = \
@GLIBCXX_HOSTED_TRUE@ ${ext_freestanding} \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/algorithm \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/bitmap_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/cmath \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/codecvt_specializations.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/debug_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/enc_filebuf.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/extptr_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/functional \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/malloc_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/memory \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/mt_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/new_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/numeric \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/pod_char_traits.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/pool_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/random \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/random.tcc \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/rb_tree \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/rc_string_base.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/rope \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/ropeimpl.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/slist \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/sso_string_base.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/stdio_filebuf.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/stdio_sync_filebuf.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/string_conversions.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/throw_allocator.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/vstring_fwd.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/vstring.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/vstring.tcc \
@GLIBCXX_HOSTED_TRUE@ ${ext_srcdir}/vstring_util.h \
@GLIBCXX_HOSTED_TRUE@ ${ext_compat_headers}
ext_compat_headers = \
${backward_srcdir}/hash_set \
${backward_srcdir}/hash_map
ext_host_headers = \
${glibcxx_srcdir}/${CPU_OPT_EXT_RANDOM}
tr1_srcdir = ${glibcxx_srcdir}/include/tr1
tr1_builddir = ./tr1
tr1_headers = \
${tr1_srcdir}/array \
${tr1_srcdir}/bessel_function.tcc \
${tr1_srcdir}/beta_function.tcc \
${tr1_srcdir}/ccomplex \
${tr1_srcdir}/cctype \
${tr1_srcdir}/cfenv \
${tr1_srcdir}/cfloat \
${tr1_srcdir}/cinttypes \
${tr1_srcdir}/climits \
${tr1_srcdir}/cmath \
${tr1_srcdir}/complex \
${tr1_srcdir}/complex.h \
${tr1_srcdir}/cstdarg \
${tr1_srcdir}/cstdbool \
${tr1_srcdir}/cstdint \
${tr1_srcdir}/cstdio \
${tr1_srcdir}/cstdlib \
${tr1_srcdir}/ctgmath \
${tr1_srcdir}/ctime \
${tr1_srcdir}/ctype.h \
${tr1_srcdir}/cwchar \
${tr1_srcdir}/cwctype \
${tr1_srcdir}/ell_integral.tcc \
${tr1_srcdir}/exp_integral.tcc \
${tr1_srcdir}/fenv.h \
${tr1_srcdir}/float.h \
${tr1_srcdir}/functional \
${tr1_srcdir}/functional_hash.h \
${tr1_srcdir}/gamma.tcc \
${tr1_srcdir}/hypergeometric.tcc \
${tr1_srcdir}/hashtable.h \
${tr1_srcdir}/hashtable_policy.h \
${tr1_srcdir}/inttypes.h \
${tr1_srcdir}/limits.h \
${tr1_srcdir}/math.h \
${tr1_srcdir}/memory \
${tr1_srcdir}/modified_bessel_func.tcc \
${tr1_srcdir}/poly_hermite.tcc \
${tr1_srcdir}/poly_laguerre.tcc \
${tr1_srcdir}/legendre_function.tcc \
${tr1_srcdir}/random \
${tr1_srcdir}/random.h \
${tr1_srcdir}/random.tcc \
${tr1_srcdir}/regex \
${tr1_srcdir}/riemann_zeta.tcc \
${tr1_srcdir}/shared_ptr.h \
${tr1_srcdir}/special_function_util.h \
${tr1_srcdir}/stdarg.h \
${tr1_srcdir}/stdbool.h \
${tr1_srcdir}/stdint.h \
${tr1_srcdir}/stdio.h \
${tr1_srcdir}/stdlib.h \
${tr1_srcdir}/tgmath.h \
${tr1_srcdir}/tuple \
${tr1_srcdir}/type_traits \
${tr1_srcdir}/unordered_map \
${tr1_srcdir}/unordered_map.h \
${tr1_srcdir}/unordered_set \
${tr1_srcdir}/unordered_set.h \
${tr1_srcdir}/utility \
${tr1_srcdir}/wchar.h \
${tr1_srcdir}/wctype.h
tr2_srcdir = ${glibcxx_srcdir}/include/tr2
tr2_builddir = ./tr2
tr2_headers = \
${tr2_srcdir}/bool_set \
${tr2_srcdir}/bool_set.tcc \
${tr2_srcdir}/dynamic_bitset \
${tr2_srcdir}/dynamic_bitset.tcc \
${tr2_srcdir}/ratio \
${tr2_srcdir}/type_traits
decimal_srcdir = ${glibcxx_srcdir}/include/decimal
decimal_builddir = ./decimal
decimal_headers = \
${decimal_srcdir}/decimal \
${decimal_srcdir}/decimal.h
# Post-C++11 TS's
experimental_srcdir = ${glibcxx_srcdir}/include/experimental
experimental_builddir = ./experimental
experimental_headers = \
${experimental_srcdir}/algorithm \
${experimental_srcdir}/any \
${experimental_srcdir}/array \
${experimental_srcdir}/buffer \
${experimental_srcdir}/chrono \
${experimental_srcdir}/contract \
${experimental_srcdir}/deque \
${experimental_srcdir}/executor \
${experimental_srcdir}/forward_list \
${experimental_srcdir}/functional \
${experimental_srcdir}/internet \
${experimental_srcdir}/io_context \
${experimental_srcdir}/iterator \
${experimental_srcdir}/list \
${experimental_srcdir}/map \
${experimental_srcdir}/memory \
${experimental_srcdir}/memory_resource \
${experimental_srcdir}/net \
${experimental_srcdir}/netfwd \
${experimental_srcdir}/numeric \
${experimental_srcdir}/optional \
${experimental_srcdir}/propagate_const \
${experimental_srcdir}/random \
${experimental_srcdir}/ratio \
${experimental_srcdir}/regex \
${experimental_srcdir}/scope \
${experimental_srcdir}/set \
${experimental_srcdir}/simd \
${experimental_srcdir}/socket \
${experimental_srcdir}/source_location \
${experimental_srcdir}/string \
${experimental_srcdir}/string_view \
${experimental_srcdir}/synchronized_value \
${experimental_srcdir}/system_error \
${experimental_srcdir}/timer \
${experimental_srcdir}/tuple \
${experimental_srcdir}/type_traits \
${experimental_srcdir}/unordered_map \
${experimental_srcdir}/unordered_set \
${experimental_srcdir}/utility \
${experimental_srcdir}/vector \
${experimental_filesystem_headers}
experimental_bits_srcdir = ${glibcxx_srcdir}/include/experimental/bits
experimental_bits_builddir = ./experimental/bits
experimental_bits_headers = \
${experimental_bits_srcdir}/lfts_config.h \
${experimental_bits_srcdir}/net.h \
${experimental_bits_srcdir}/numeric_traits.h \
${experimental_bits_srcdir}/shared_ptr.h \
${experimental_bits_srcdir}/simd.h \
${experimental_bits_srcdir}/simd_builtin.h \
${experimental_bits_srcdir}/simd_converter.h \
${experimental_bits_srcdir}/simd_detail.h \
${experimental_bits_srcdir}/simd_fixed_size.h \
${experimental_bits_srcdir}/simd_math.h \
${experimental_bits_srcdir}/simd_neon.h \
${experimental_bits_srcdir}/simd_ppc.h \
${experimental_bits_srcdir}/simd_scalar.h \
${experimental_bits_srcdir}/simd_sve.h \
${experimental_bits_srcdir}/simd_x86.h \
${experimental_bits_srcdir}/simd_x86_conversions.h \
${experimental_bits_srcdir}/string_view.tcc \
${experimental_bits_filesystem_headers}
@ENABLE_FILESYSTEM_TS_FALSE@experimental_filesystem_headers =
@ENABLE_FILESYSTEM_TS_TRUE@experimental_filesystem_headers = \
@ENABLE_FILESYSTEM_TS_TRUE@ ${experimental_srcdir}/filesystem
@ENABLE_FILESYSTEM_TS_FALSE@experimental_bits_filesystem_headers =
@ENABLE_FILESYSTEM_TS_TRUE@experimental_bits_filesystem_headers = \
@ENABLE_FILESYSTEM_TS_TRUE@ ${experimental_bits_srcdir}/fs_dir.h \
@ENABLE_FILESYSTEM_TS_TRUE@ ${experimental_bits_srcdir}/fs_fwd.h \
@ENABLE_FILESYSTEM_TS_TRUE@ ${experimental_bits_srcdir}/fs_ops.h \
@ENABLE_FILESYSTEM_TS_TRUE@ ${experimental_bits_srcdir}/fs_path.h
# This is the common subset of C++ files that all three "C" header models use.
c_base_srcdir = $(C_INCLUDE_DIR)
c_base_builddir = .
c_base_freestanding = \
${c_base_srcdir}/cfloat \
${c_base_srcdir}/climits \
${c_base_srcdir}/cstdalign \
${c_base_srcdir}/cstdarg \
${c_base_srcdir}/cstdbool \
${c_base_srcdir}/cstddef \
${c_base_srcdir}/cstdint \
${c_base_srcdir}/cstdlib
@GLIBCXX_HOSTED_FALSE@c_base_headers = ${c_base_freestanding}
@GLIBCXX_HOSTED_TRUE@c_base_headers = \
@GLIBCXX_HOSTED_TRUE@ ${c_base_freestanding} \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cassert \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/ccomplex \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cctype \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cerrno \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cfenv \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cinttypes \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/ciso646 \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/clocale \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cmath \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/csetjmp \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/csignal \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cstdio \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cstring \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/ctgmath \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/ctime \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cuchar \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cwchar \
@GLIBCXX_HOSTED_TRUE@ ${c_base_srcdir}/cwctype
# "C" compatibility headers.
c_compatibility_srcdir = ${glibcxx_srcdir}/include/c_compatibility
c_compatibility_builddir = .
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@c_compatibility_headers = \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/complex.h \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/fenv.h \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/tgmath.h \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/math.h \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/stdatomic.h \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/stdbit.h \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/stdckdint.h \
@GLIBCXX_C_HEADERS_C_GLOBAL_TRUE@ ${c_compatibility_srcdir}/stdlib.h
@GLIBCXX_C_HEADERS_C_STD_TRUE@c_compatibility_headers =
@GLIBCXX_C_HEADERS_C_TRUE@c_compatibility_headers = \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/assert.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/complex.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/ctype.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/errno.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/fenv.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/float.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/inttypes.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/iso646.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/limits.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/locale.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/math.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/setjmp.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/signal.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/stdarg.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/stdbool.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/stddef.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/stdint.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/stdio.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/stdlib.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/string.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/tgmath.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/time.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/uchar.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/wchar.h \
@GLIBCXX_C_HEADERS_C_TRUE@ ${c_compatibility_srcdir}/wctype.h
# Debug mode headers
debug_srcdir = ${glibcxx_srcdir}/include/debug
debug_builddir = ./debug
debug_freestanding = \
${debug_srcdir}/assertions.h \
${debug_srcdir}/debug.h
@GLIBCXX_HOSTED_FALSE@debug_headers = ${debug_freestanding}
@GLIBCXX_HOSTED_TRUE@debug_headers = \
@GLIBCXX_HOSTED_TRUE@ ${debug_freestanding} \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/bitset \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/deque \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/formatter.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/forward_list \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/functions.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/helper_functions.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/inplace_vector \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/list \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/map \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/macros.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/map.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/multimap.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/multiset.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_base.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_container.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_iterator.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_iterator.tcc \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_local_iterator.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_local_iterator.tcc \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_sequence.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_sequence.tcc \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_unordered_base.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_unordered_container.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/safe_unordered_container.tcc \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/set \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/set.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/stl_iterator.h \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/string \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/unordered_map \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/unordered_set \
@GLIBCXX_HOSTED_TRUE@ ${debug_srcdir}/vector
# Parallel mode headers
parallel_srcdir = ${glibcxx_srcdir}/include/parallel
parallel_builddir = ./parallel
parallel_headers = \
${parallel_srcdir}/algo.h \
${parallel_srcdir}/algobase.h \
${parallel_srcdir}/algorithm \
${parallel_srcdir}/algorithmfwd.h \
${parallel_srcdir}/balanced_quicksort.h \
${parallel_srcdir}/base.h \
${parallel_srcdir}/basic_iterator.h \
${parallel_srcdir}/checkers.h \
${parallel_srcdir}/compatibility.h \
${parallel_srcdir}/compiletime_settings.h \
${parallel_srcdir}/equally_split.h \
${parallel_srcdir}/features.h \
${parallel_srcdir}/find.h \
${parallel_srcdir}/find_selectors.h \
${parallel_srcdir}/for_each.h \
${parallel_srcdir}/for_each_selectors.h \
${parallel_srcdir}/iterator.h \
${parallel_srcdir}/list_partition.h \
${parallel_srcdir}/losertree.h \
${parallel_srcdir}/merge.h \
${parallel_srcdir}/multiseq_selection.h \
${parallel_srcdir}/multiway_merge.h \
${parallel_srcdir}/multiway_mergesort.h \
${parallel_srcdir}/numeric \
${parallel_srcdir}/numericfwd.h \
${parallel_srcdir}/omp_loop.h \
${parallel_srcdir}/omp_loop_static.h \
${parallel_srcdir}/par_loop.h \
${parallel_srcdir}/parallel.h \
${parallel_srcdir}/partial_sum.h \
${parallel_srcdir}/partition.h \
${parallel_srcdir}/queue.h \
${parallel_srcdir}/quicksort.h \
${parallel_srcdir}/random_number.h \
${parallel_srcdir}/random_shuffle.h \
${parallel_srcdir}/search.h \
${parallel_srcdir}/set_operations.h \
${parallel_srcdir}/settings.h \
${parallel_srcdir}/sort.h \
${parallel_srcdir}/tags.h \
${parallel_srcdir}/types.h \
${parallel_srcdir}/unique_copy.h \
${parallel_srcdir}/workstealing.h
@GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@c_compatibility_headers_extra =
# Some "C" header schemes require the "C" compatibility headers.
# For --enable-cheaders=c_std
@GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers}
host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
host_builddir = ./${host_alias}/bits
host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
host_headers = \
${host_srcdir}/ctype_base.h \
${host_srcdir}/ctype_inline.h \
${host_srcdir}/os_defines.h \
${glibcxx_srcdir}/$(ATOMIC_WORD_SRCDIR)/atomic_word.h \
${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \
${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h \
${glibcxx_srcdir}/$(ERROR_CONSTANTS_SRCDIR)/error_constants.h \
${glibcxx_srcdir}/include/precompiled/stdc++.h \
${glibcxx_srcdir}/include/precompiled/stdtr1c++.h \
${glibcxx_srcdir}/include/precompiled/extc++.h
# Non-installed host_header files.
COMPATIBILITY_H = config/abi/compatibility.h
host_headers_noinst = \
${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) \
${glibcxx_srcdir}/$(COMPATIBILITY_H)
# These host_headers_extra files are all built with ad hoc naming rules.
host_headers_extra = \
${host_builddir}/basic_file.h \
${host_builddir}/c++config.h \
${host_builddir}/c++allocator.h \
${host_builddir}/c++io.h \
${host_builddir}/c++locale.h \
${host_builddir}/messages_members.h \
${host_builddir}/time_members.h
thread_host_headers = \
${host_builddir}/gthr.h \
${host_builddir}/gthr-single.h \
${host_builddir}/gthr-posix.h \
${host_builddir}/gthr-default.h
pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
pch1_output_builddir = ${host_builddir}/stdc++.h.gch
pch1_output_anchor = ${host_builddir}/stdc++.h
pch1_output_installdir = ${host_installdir}/stdc++.h.gch
pch1a_output = ${pch1_output_builddir}/O2ggnu++0x.gch
pch1b_output = ${pch1_output_builddir}/O2g.gch
pch1_output = ${pch1a_output} ${pch1b_output}
pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch
pch2_output_anchor = ${host_builddir}/stdtr1c++.h
pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch
pch2_output = ${pch2_output_builddir}/O2g.gch
pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h
pch3_output_builddir = ${host_builddir}/extc++.h.gch
pch3_output_anchor = ${host_builddir}/extc++.h
pch3_output_installdir = ${host_installdir}/extc++.h.gch
pch3_output = ${pch3_output_builddir}/O2g.gch
pch_output = ${pch1_output} ${pch2_output} ${pch3_output}
pch_output_dirs = \
${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
pch_output_anchors = \
${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
PCHFLAGS = -x c++-header -nostdinc++ $(CXXFLAGS) $(VTV_PCH_CXXFLAGS)
@GLIBCXX_BUILD_PCH_FALSE@pch_build =
@GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output}
# List of all timestamp files. By keeping only one copy of this list, both
# CLEANFILES and all-local are kept up-to-date.
allstamped = \
stamp-std stamp-bits stamp-bits-sup stamp-pstl stamp-c_base stamp-c_compatibility \
stamp-backward stamp-ext stamp-pb stamp-tr1 stamp-tr2 stamp-decimal \
stamp-experimental stamp-experimental-bits stamp-debug stamp-parallel \
stamp-host
# List of all files that are created by explicit building, editing, or
# catenation.
allcreated = \
${host_builddir}/c++config.h \
${host_builddir}/largefile-config.h \
${thread_host_headers} \
${pch_build} \
${bits_srcdir}/version.h
# Host includes for threads
uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
# By adding these files here, automake will remove them for 'make clean'
CLEANFILES = ${pch_output} ${pch_output_anchors} stamp-host
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps include/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign --ignore-deps include/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_srcdir)/fragment.am $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags TAGS:
ctags CTAGS:
cscope cscopelist:
check-am: all-am
check: check-am
all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-data-local
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am all-local check check-am clean clean-generic \
clean-libtool clean-local cscopelist-am ctags-am distclean \
distclean-generic distclean-libtool dvi dvi-am html html-am \
info info-am install install-am install-data install-data-am \
install-data-local install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am
.PRECIOUS: Makefile
# Here are the rules for building the headers
all-local: ${allstamped} ${allcreated}
# Ignore errors from 'mkdir -p' to avoid parallel make failure on
# systems with broken mkdir. Call mkdir unconditionally because
# it is just as cheap to avoid going through the shell.
# Ignore errors from $(LN_S) because the links may already exist.
stamp-std: ${std_headers}
@-mkdir -p ${std_builddir}
@-cd ${std_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-std
stamp-bits: ${bits_headers}
@-mkdir -p ${bits_builddir}
@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-bits
stamp-bits-sup: stamp-bits ${bits_sup_headers}
@-cd ${bits_builddir} && $(LN_S) ${bits_sup_headers} . 2>/dev/null
@$(STAMP) stamp-bits-sup
stamp-pstl: ${pstl_headers}
@-mkdir -p ${pstl_builddir}
@-cd ${pstl_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-pstl
stamp-c_base: ${c_base_headers}
@-mkdir -p ${c_base_builddir}
@-cd ${c_base_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-c_base
stamp-c_base_extra: ${c_base_headers_extra}
@-mkdir -p ${bits_builddir}
@-cd ${bits_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-c_base_extra
stamp-c_compatibility: ${c_compatibility_headers_extra}
@-mkdir -p ${c_compatibility_builddir}
@-if [ ! -z "${c_compatibility_headers_extra}" ]; then \
cd ${c_compatibility_builddir} && $(LN_S) $? . 2>/dev/null ;\
fi
@$(STAMP) stamp-c_compatibility
stamp-backward: ${backward_headers}
@-mkdir -p ${backward_builddir}
@-cd ${backward_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-backward
stamp-ext: ${ext_headers}
@-mkdir -p ${ext_builddir}
@-cd ${ext_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-ext
# Have to deal with nested include directories, gah! Strip off source
# directory before making the link.
# XXX check ${pb_headers}
stamp-pb:
@if [ ! -d "${pb_builddir}" ]; then \
mkdir -p ${pb_subdirs} ;\
fi
@if [ ! -f stamp-pb ]; then \
cd ${pb_builddir} && for h in ${pb_headers1}; do \
build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
$(LN_S) $$h $${build_name} || true ;\
done ;\
fi
@if [ ! -f stamp-pb ]; then \
cd ${pb_builddir} && for h in ${pb_headers2}; do \
build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
$(LN_S) $$h $${build_name} || true ;\
done ;\
fi
@if [ ! -f stamp-pb ]; then \
cd ${pb_builddir} && for h in ${pb_headers3}; do \
build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
$(LN_S) $$h $${build_name} || true ;\
done ;\
fi
@if [ ! -f stamp-pb ]; then \
cd ${pb_builddir} && for h in ${pb_headers4}; do \
build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
$(LN_S) $$h $${build_name} || true ;\
done ;\
fi
@if [ ! -f stamp-pb ]; then \
cd ${pb_builddir} && for h in ${pb_headers5}; do \
build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
$(LN_S) $$h $${build_name} || true ;\
done ;\
fi
@if [ ! -f stamp-pb ]; then \
cd ${pb_builddir} && for h in ${pb_headers6}; do \
build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
$(LN_S) $$h $${build_name} || true ;\
done ;\
fi
@if [ ! -f stamp-pb ]; then \
cd ${pb_builddir} && for h in ${pb_headers7}; do \
build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
$(LN_S) $$h $${build_name} || true ;\
done ;\
fi
$(STAMP) stamp-pb
stamp-tr1: ${tr1_headers}
@-mkdir -p ${tr1_builddir}
@-cd ${tr1_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-tr1
stamp-tr2: ${tr2_headers}
@-mkdir -p ${tr2_builddir}
@-cd ${tr2_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-tr2
stamp-decimal: ${decimal_headers}
@-mkdir -p ${decimal_builddir}
@-cd ${decimal_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-decimal
stamp-experimental: ${experimental_headers}
@-mkdir -p ${experimental_builddir}
@-cd ${experimental_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-experimental
stamp-experimental-bits: ${experimental_bits_headers}
@-mkdir -p ${experimental_bits_builddir}
@-cd ${experimental_bits_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-experimental-bits
stamp-debug: ${debug_headers}
@-mkdir -p ${debug_builddir}
@-cd ${debug_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-debug
stamp-parallel: ${parallel_headers}
@-mkdir -p ${parallel_builddir}
@-cd ${parallel_builddir} && $(LN_S) $? . 2>/dev/null
@$(STAMP) stamp-parallel
stamp-${host_alias}:
@-mkdir -p ${host_builddir}
@-mkdir -p ${host_builddir}/../ext
@$(STAMP) stamp-${host_alias}
# Host includes static.
# XXX Missing dependency info for {host_headers_extra}
stamp-host: ${host_headers} ${bits_host_headers} ${ext_host_headers} ${host_headers_noinst} stamp-${host_alias}
@cd ${host_builddir} && {\
$(LN_S) ${host_headers} ${bits_host_headers} . || true ;\
$(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_H) basic_file.h || true ;\
$(LN_S) ${glibcxx_srcdir}/$(ALLOCATOR_H) c++allocator.h || true ;\
$(LN_S) ${glibcxx_srcdir}/$(CSTDIO_H) c++io.h || true ;\
$(LN_S) ${glibcxx_srcdir}/$(CLOCALE_H) c++locale.h || true ;\
$(LN_S) ${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) . || true ;\
$(LN_S) ${glibcxx_srcdir}/$(COMPATIBILITY_H) . || true ;\
$(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_H) messages_members.h || true ;\
$(LN_S) ${glibcxx_srcdir}/$(CTIME_H) time_members.h || true;\
} 2>/dev/null
@cd ${host_builddir}/../ext && {\
$(LN_S) ${ext_host_headers} . || true ;\
} 2>/dev/null
$(STAMP) stamp-host
# Host includes dynamic.
@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@stamp-namespace-version:
@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ echo 1 > stamp-namespace-version
@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@stamp-namespace-version:
@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ echo 0 > stamp-namespace-version
@ENABLE_EXTERN_TEMPLATE_TRUE@stamp-extern-template:
@ENABLE_EXTERN_TEMPLATE_TRUE@ echo 1 > stamp-extern-template
@ENABLE_EXTERN_TEMPLATE_FALSE@stamp-extern-template:
@ENABLE_EXTERN_TEMPLATE_FALSE@ echo 0 > stamp-extern-template
@ENABLE_VISIBILITY_TRUE@stamp-visibility:
@ENABLE_VISIBILITY_TRUE@ echo 1 > stamp-visibility
@ENABLE_VISIBILITY_FALSE@stamp-visibility:
@ENABLE_VISIBILITY_FALSE@ echo 0 > stamp-visibility
@ENABLE_DUAL_ABI_TRUE@stamp-dual-abi:
@ENABLE_DUAL_ABI_TRUE@ echo 1 > stamp-dual-abi
@ENABLE_DUAL_ABI_FALSE@stamp-dual-abi:
@ENABLE_DUAL_ABI_FALSE@ echo 0 > stamp-dual-abi
@ENABLE_CXX11_ABI_TRUE@stamp-cxx11-abi:
@ENABLE_CXX11_ABI_TRUE@ echo 1 > stamp-cxx11-abi
@ENABLE_CXX11_ABI_FALSE@stamp-cxx11-abi:
@ENABLE_CXX11_ABI_FALSE@ echo 0 > stamp-cxx11-abi
@ENABLE_ALLOCATOR_NEW_TRUE@stamp-allocator-new:
@ENABLE_ALLOCATOR_NEW_TRUE@ echo 1 > stamp-allocator-new
@ENABLE_ALLOCATOR_NEW_FALSE@stamp-allocator-new:
@ENABLE_ALLOCATOR_NEW_FALSE@ echo 0 > stamp-allocator-new
@ENABLE_FLOAT128_TRUE@stamp-float128:
@ENABLE_FLOAT128_TRUE@ echo 'define _GLIBCXX_USE_FLOAT128 1' > stamp-float128
@ENABLE_FLOAT128_FALSE@stamp-float128:
@ENABLE_FLOAT128_FALSE@ echo 'undef _GLIBCXX_USE_FLOAT128' > stamp-float128
# This header is not installed, it's only used to build libstdc++ itself.
${host_builddir}/largefile-config.h: ${CONFIG_HEADER} stamp-${host_alias}
@rm -f $@.tmp
@-grep 'define _DARWIN_USE_64_BIT_INODE' ${CONFIG_HEADER} >> $@.tmp
@-grep 'define _FILE_OFFSET_BITS' ${CONFIG_HEADER} >> $@.tmp
@-grep 'define _LARGE_FILES' ${CONFIG_HEADER} >> $@.tmp
@mv $@.tmp $@
# NB: The non-empty default ldbl_compat works around an AIX sed
# oddity, see libstdc++/31957 for details.
${host_builddir}/c++config.h: ${CONFIG_HEADER} \
${glibcxx_srcdir}/include/bits/c++config \
${host_builddir}/largefile-config.h \
stamp-${host_alias} \
${toplevel_srcdir}/gcc/DATESTAMP \
stamp-namespace-version \
stamp-visibility \
stamp-extern-template \
stamp-dual-abi \
stamp-cxx11-abi \
stamp-allocator-new \
stamp-float128
@date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\
release=`sed 's/^\([0-9]*\).*$$/\1/' ${toplevel_srcdir}/gcc/BASE-VER` ;\
ns_version=`cat stamp-namespace-version` ;\
visibility=`cat stamp-visibility` ;\
externtemplate=`cat stamp-extern-template` ;\
dualabi=`cat stamp-dual-abi` ;\
cxx11abi=`cat stamp-cxx11-abi` ;\
allocatornew=`cat stamp-allocator-new` ;\
float128=`cat stamp-float128` ;\
ldbl_compat='s,g,g,' ;\
grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \
${CONFIG_HEADER} > /dev/null 2>&1 \
&& ldbl_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_COMPAT 1,' ;\
ldbl_alt128_compat='s,g,g,' ;\
grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT[ ][ ]*1[ ]*$$" \
${CONFIG_HEADER} > /dev/null 2>&1 \
&& ldbl_alt128_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT 1,' ;\
verbose_assert='s,g,g,' ; \
grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_HOSTED[ ][ ]*__STDC_HOSTED__[ ]*$$" \
${CONFIG_HEADER} > /dev/null 2>&1 \
&& grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_VERBOSE[ ][ ]*1[ ]*$$" \
${CONFIG_HEADER} > /dev/null 2>&1 \
&& verbose_assert='s,^#undef _GLIBCXX_VERBOSE_ASSERT$$,#define _GLIBCXX_VERBOSE_ASSERT 1,' ;\
sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
-e "s,define _GLIBCXX_RELEASE,define _GLIBCXX_RELEASE $$release," \
-e "s,define _GLIBCXX_INLINE_VERSION, define _GLIBCXX_INLINE_VERSION $$ns_version," \
-e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
-e "s,define _GLIBCXX_EXTERN_TEMPLATE$$, define _GLIBCXX_EXTERN_TEMPLATE $$externtemplate," \
-e "s,define _GLIBCXX_USE_DUAL_ABI, define _GLIBCXX_USE_DUAL_ABI $$dualabi," \
-e "s,define _GLIBCXX_USE_CXX11_ABI, define _GLIBCXX_USE_CXX11_ABI $$cxx11abi," \
-e "s,define _GLIBCXX_USE_ALLOCATOR_NEW, define _GLIBCXX_USE_ALLOCATOR_NEW $$allocatornew," \
-e "s,define _GLIBCXX_USE_FLOAT128,$$float128," \
-e "$$ldbl_compat" \
-e "$$ldbl_alt128_compat" \
-e "$$verbose_assert" \
< ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
-e '/PACKAGE/s,^,// ,' \
-e '/PACKAGE/!s/VERSION/_GLIBCXX_VERSION/g' \
-e 's/WORDS_/_GLIBCXX_WORDS_/g' \
-e 's/LT_OBJDIR/_GLIBCXX_LT_OBJDIR/g' \
-e 's,^#.*STDC_HEADERS,// &,' \
-e 's/_DARWIN_USE_64_BIT_INODE/_GLIBCXX_DARWIN_USE_64_BIT_INODE/g' \
-e 's/_FILE_OFFSET_BITS/_GLIBCXX_FILE_OFFSET_BITS/g' \
-e 's/_LARGE_FILES/_GLIBCXX_LARGE_FILES/g' \
-e 's/ICONV_CONST/_GLIBCXX_ICONV_CONST/g' \
-e '/[ ]_GLIBCXX_LONG_DOUBLE_COMPAT[ ]/d' \
-e '/[ ]_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT[ ]/d' \
< ${CONFIG_HEADER} >> $@ ;\
echo "" >> $@ ;\
echo "#endif // _GLIBCXX_CXX_CONFIG_H" >> $@
${host_builddir}/gthr.h: ${toplevel_srcdir}/libgcc/gthr.h stamp-${host_alias}
sed -e '/^#pragma/b' \
-e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
-e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/_GLIBCXX___MINGW32_GLIBCXX___/__MINGW32__/g' \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< $< > $@
${host_builddir}/gthr-single.h: ${toplevel_srcdir}/libgcc/gthr-single.h \
stamp-${host_alias}
sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
< $< > $@
${host_builddir}/gthr-posix.h: ${toplevel_srcdir}/libgcc/gthr-posix.h \
stamp-${host_alias}
sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
-e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
< $< > $@
${host_builddir}/gthr-default.h: ${toplevel_srcdir}/libgcc/${thread_header} \
stamp-${host_alias}
sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
-e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
-e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
-e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
-e 's,^#include "\(.*\)",#include <bits/\1>,g' \
< $< > $@
# Build two precompiled C++ includes, stdc++.h.gch/*.gch
${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
-mkdir -p ${pch1_output_builddir}
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g -std=gnu++0x ${pch1_source} \
-o $@
${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
-mkdir -p ${pch1_output_builddir}
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
# Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
${pch2_output}: ${pch2_source} ${pch1_output}
-mkdir -p ${pch2_output_builddir}
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@
# Build a precompiled extension include, extc++.h.gch/O2.gch
${pch3_output}: ${pch3_source} ${pch2_output}
-mkdir -p ${pch3_output_builddir}
$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
# AutoGen <bits/version.h>.
.PHONY: update-version
update-version:
cd ${bits_srcdir} && \
autogen version.def
# Regenerate it automatically in maintainer mode.
@MAINTAINER_MODE_TRUE@${bits_srcdir}/version.h: ${bits_srcdir}/version.def ${bits_srcdir}/version.tpl
@MAINTAINER_MODE_TRUE@ $(MAKE) update-version
# The real deal.
install-data-local: install-headers
install-headers:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
for file in ${bits_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir}
for file in ${backward_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
for file in ${std_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir}
for file in ${debug_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir}
$(mkinstalldirs) $(DESTDIR)${host_installdir}
for file in ${host_headers} ${bits_host_headers} ${host_headers_extra} \
${thread_host_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
for file in ${c_base_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir}
for file in ${ext_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done
@GLIBCXX_HOSTED_TRUE@ for dir in ${pb_subdirs}; do \
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/$${dir} ; done
@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers1}; do \
@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers2}; do \
@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers3}; do \
@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers4}; do \
@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers5}; do \
@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers6}; do \
@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
@GLIBCXX_HOSTED_TRUE@ for file in ${pb_headers7}; do \
@GLIBCXX_HOSTED_TRUE@ install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
@GLIBCXX_HOSTED_TRUE@ relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir}
@GLIBCXX_HOSTED_TRUE@ for file in ${tr1_headers}; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr2_builddir}
@GLIBCXX_HOSTED_TRUE@ for file in ${tr2_headers}; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr2_builddir}; done
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${decimal_builddir}
@GLIBCXX_HOSTED_TRUE@ for file in ${decimal_headers}; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${decimal_builddir}; done
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_builddir}
@GLIBCXX_HOSTED_TRUE@ for file in ${experimental_headers}; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_builddir}; done
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir}
@GLIBCXX_HOSTED_TRUE@ for file in ${experimental_bits_headers}; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${experimental_bits_builddir}; done
@GLIBCXX_HOSTED_TRUE@ c_base_headers_extra_install='$(c_base_headers_extra)';\
@GLIBCXX_HOSTED_TRUE@ for file in $$c_base_headers_extra_install; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
@GLIBCXX_HOSTED_TRUE@ c_compatibility_headers_install='$(c_compatibility_headers_extra)';\
@GLIBCXX_HOSTED_TRUE@ for file in $$c_compatibility_headers_install; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${parallel_builddir}
@GLIBCXX_HOSTED_TRUE@ for file in ${parallel_headers}; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${parallel_builddir}; done
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${host_installdir}/../ext
@GLIBCXX_HOSTED_TRUE@ for file in ${ext_host_headers}; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}/../ext; done
@GLIBCXX_HOSTED_TRUE@ $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pstl_builddir}
@GLIBCXX_HOSTED_TRUE@ for file in ${pstl_headers}; do \
@GLIBCXX_HOSTED_TRUE@ $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${pstl_builddir}; done
# To remove directories.
clean-local:
rm -rf ${pch_output_dirs}
# Stop implicit '.o' make rules from ever stomping on extensionless
# headers, in the improbable case where some foolish, crack-addled
# developer tries to create them via make in the include build
# directory. (This is more of an example of how this kind of rule can
# be made.)
.PRECIOUS: $(std_headers) $(c_base_headers) $(tr1_headers) $(tr2_headers)
$(decimal_headers) $(ext_headers) $(experimental_headers)
$(experimental_bits_headers)
$(std_headers): ; @:
$(c_base_headers): ; @:
$(tr1_headers): ; @:
$(decimal_headers): ; @:
$(ext_headers): ; @:
$(experimental_headers): ; @:
$(experimental_bits_headers): ; @:
# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
@INCLUDE_DIR_NOTPARALLEL_TRUE@.NOTPARALLEL:
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: