mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 20:01:31 -05:00
Implement a long-standing request to support tuning the size of the emergency buffer for allocating exceptions after malloc fails, or to disable that buffer entirely. It's now possible to disable the dynamic allocation of the buffer and use a fixed-size static buffer, via --enable-libstdcxx-static-eh-pool. This is a built-time choice that is baked into libstdc++ and so affects all code linked against that build of libstdc++. The size of the pool can be set by --with-libstdcxx-eh-pool-obj-count=N which is measured in units of sizeof(void*) not bytes. A given exception type such as std::system_error depends on the target, so giving a size in bytes wouldn't be portable across 16/32/64-bit targets. When libstdc++ is configured to use a dynamic buffer, the size of that buffer can now be tuned at runtime by setting the GLIBCXX_TUNABLES environment variable (c.f. PR libstdc++/88264). The number of exceptions to reserve space for is controlled by the "glibcxx.eh_pool.obj_count" and "glibcxx.eh_pool.obj_size" tunables. The pool will be sized to be able to allocate obj_count exceptions of size obj_size*sizeof(void*) and obj_count "dependent" exceptions rethrown by std::rethrow_exception. With the ability to tune the buffer size, we can reduce the default pool size on 32-bit and 16-bit targets. Most users never need to throw 1kB exceptions in parallel from hundreds of threads after malloc is OOM. The users who do need that can use the tunables to select larger sizes. The old defaults can be chosen at runtime by setting GLIBCXX_TUNABLES to: 64-bit: glibcxx.eh_pool.obj_count=64:glibcxx.eh_pool.obj_size=112 32-bit: glibcxx.eh_pool.obj_count=32:glibcxx.eh_pool.obj_size=104 Or approximated by configuring with: 64-bit: --with-libstdcxx-eh-pool-obj-count=252 32-bit: --with-libstdcxx-eh-pool-obj-count=94 libstdc++-v3/ChangeLog: PR libstdc++/68606 * Makefile.in: Regenerate. * acinclude.m4 (GLIBCXX_EMERGENCY_EH_ALLOC): New macro. * configure: Regenerate. * configure.ac: Use GLIBCXX_EMERGENCY_EH_ALLOC. * crossconfig.m4: Check for secure_getenv. * doc/Makefile.in: Regenerate. * doc/xml/manual/configure.xml: Document new configure options. * doc/xml/manual/evolution.xml: Document addition of tunables. * doc/xml/manual/using_exceptions.xml: Document emergency buffer and tunables. * doc/html/*: Regenerate. * include/Makefile.in: Regenerate. * libsupc++/Makefile.am: Use EH_POOL_FLAGS. * libsupc++/Makefile.in: Regenerate. * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define in units of sizeof(void*) not including the ABI's exception header. (EMERGENCY_OBJ_COUNT): Define as target-independent calculation based on word size. (MAX_OBJ_COUNT): Define macro for upper limit on pool size. (pool) [_GLIBCXX_EH_POOL_STATIC]: Use fixed-size buffer. (pool::buffer_size_in_bytes): New static member function. (pool::pool): Parse GLIBCXX_TUNABLES environment variable to set pool size at runtime. (pool::in_pool): Use std::less<void*> for total order. (__freeres) [_GLIBCXX_EH_POOL_STATIC]: Do nothing. (__cxa_free_exception, __cxa_free_dependent_exception): Add [[unlikely]] attributes. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++17/Makefile.in: Regenerate. * src/c++20/Makefile.in: Regenerate. * src/c++98/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Regenerate. * src/libbacktrace/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate.
637 lines
19 KiB
Makefile
637 lines
19 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 = python
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
|
|
$(top_srcdir)/../config/enable.m4 \
|
|
$(top_srcdir)/../config/futex.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/stdint.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__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
|
am__vpath_adj = case $$p in \
|
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
*) f=$$p;; \
|
|
esac;
|
|
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
|
am__install_max = 40
|
|
am__nobase_strip_setup = \
|
|
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
|
am__nobase_strip = \
|
|
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
|
am__nobase_list = $(am__nobase_strip_setup); \
|
|
for p in $$list; do echo "$$p $$p"; done | \
|
|
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
|
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
|
if (++n[$$2] == $(am__install_max)) \
|
|
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
|
END { for (dir in files) print dir, files[dir] }'
|
|
am__base_list = \
|
|
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
|
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
|
am__uninstall_files_from_dir = { \
|
|
test -z "$$files" \
|
|
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
|
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
|
$(am__cd) "$$dir" && rm -f $$files; }; \
|
|
}
|
|
am__installdirs = "$(DESTDIR)$(pythondir)"
|
|
DATA = $(nobase_python_DATA)
|
|
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@
|
|
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)
|
|
@ENABLE_PYTHONDIR_FALSE@pythondir = $(datadir)/gcc-$(gcc_version)/python
|
|
@ENABLE_PYTHONDIR_TRUE@pythondir = $(prefix)/$(python_mod_dir)
|
|
@GLIBCXX_BUILD_DEBUG_FALSE@debug_gdb_py =
|
|
@GLIBCXX_BUILD_DEBUG_TRUE@debug_gdb_py = YES
|
|
nobase_python_DATA = \
|
|
libstdcxx/v6/printers.py \
|
|
libstdcxx/v6/xmethods.py \
|
|
libstdcxx/v6/__init__.py \
|
|
libstdcxx/__init__.py
|
|
|
|
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 python/Makefile'; \
|
|
$(am__cd) $(top_srcdir) && \
|
|
$(AUTOMAKE) --foreign --ignore-deps python/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
|
|
install-nobase_pythonDATA: $(nobase_python_DATA)
|
|
@$(NORMAL_INSTALL)
|
|
@list='$(nobase_python_DATA)'; test -n "$(pythondir)" || list=; \
|
|
if test -n "$$list"; then \
|
|
echo " $(MKDIR_P) '$(DESTDIR)$(pythondir)'"; \
|
|
$(MKDIR_P) "$(DESTDIR)$(pythondir)" || exit 1; \
|
|
fi; \
|
|
$(am__nobase_list) | while read dir files; do \
|
|
xfiles=; for file in $$files; do \
|
|
if test -f "$$file"; then xfiles="$$xfiles $$file"; \
|
|
else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
|
|
test -z "$$xfiles" || { \
|
|
test "x$$dir" = x. || { \
|
|
echo " $(MKDIR_P) '$(DESTDIR)$(pythondir)/$$dir'"; \
|
|
$(MKDIR_P) "$(DESTDIR)$(pythondir)/$$dir"; }; \
|
|
echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(pythondir)/$$dir'"; \
|
|
$(INSTALL_DATA) $$xfiles "$(DESTDIR)$(pythondir)/$$dir" || exit $$?; }; \
|
|
done
|
|
|
|
uninstall-nobase_pythonDATA:
|
|
@$(NORMAL_UNINSTALL)
|
|
@list='$(nobase_python_DATA)'; test -n "$(pythondir)" || list=; \
|
|
$(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
|
|
dir='$(DESTDIR)$(pythondir)'; $(am__uninstall_files_from_dir)
|
|
tags TAGS:
|
|
|
|
ctags CTAGS:
|
|
|
|
cscope cscopelist:
|
|
|
|
check-am: all-am
|
|
check: check-am
|
|
all-am: Makefile $(DATA) all-local
|
|
installdirs:
|
|
for dir in "$(DESTDIR)$(pythondir)"; do \
|
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
|
done
|
|
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:
|
|
|
|
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 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-nobase_pythonDATA
|
|
|
|
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: uninstall-nobase_pythonDATA
|
|
|
|
.MAKE: install-am install-strip
|
|
|
|
.PHONY: all all-am all-local check check-am clean clean-generic \
|
|
clean-libtool 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-nobase_pythonDATA \
|
|
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 uninstall-nobase_pythonDATA
|
|
|
|
.PRECIOUS: Makefile
|
|
|
|
|
|
all-local: gdb.py
|
|
|
|
gdb.py: hook.in Makefile
|
|
sed -e 's,@pythondir@,$(pythondir),' \
|
|
-e 's,@toolexeclibdir@,$(toolexeclibdir),' < $(srcdir)/hook.in > $@
|
|
|
|
install-data-local: gdb.py
|
|
@$(mkdir_p) $(DESTDIR)$(toolexeclibdir)
|
|
@libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
|
|
$(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
|
|
if [ -z "$$libname" ]; then \
|
|
libname=`sed -ne "/^old_library=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
|
|
$(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
|
|
fi; \
|
|
echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
|
|
$(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py ; \
|
|
if [ -n "$(debug_gdb_py)" ]; then \
|
|
sed "/^libdir = /s;'$$;/debug';" gdb.py > debug-gdb.py ; \
|
|
$(INSTALL_DATA) debug-gdb.py $(DESTDIR)$(toolexeclibdir)/debug/$$libname-gdb.py ; \
|
|
fi
|
|
|
|
# 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:
|