acconfig.h (_GLIBCPP_MEM_LIMITS): Define.

2001-08-09  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
	* config.h.in: Regenerate.
	* acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT): Check for setrlimit
	function.
	* aclocal.m4: Regenerate.
	* configure.in: Remove duplicate AM_CONFIG_HEADER.
	(AM_CONFIG_HEADER): Remove testsuite/testsuite_hooks.h.
	Only call GLIBCPP_CHECK_SETRLIMIT for native compiles.
	* configure: Regenerate.
	* testsuite_hooks.h.in: Move to...
	* testsuite_hooks.h: Here, include c++config.h. Use it.

	* Makefile.am (SUBDIRS): Move testsuite to last directory.
	* Makefile.in: Regenerate.
	* po/Makefile.am (stamp-po): Add.

From-SVN: r44752
This commit is contained in:
Benjamin Kosnik 2001-08-10 06:50:34 +00:00 committed by Benjamin Kosnik
parent 396ad5177c
commit 58b08ac3e1
19 changed files with 1226 additions and 1209 deletions

View File

@ -1,3 +1,21 @@
2001-08-09 Benjamin Kosnik <bkoz@redhat.com>
* acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
* config.h.in: Regenerate.
* acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT): Check for setrlimit
function.
* aclocal.m4: Regenerate.
* configure.in: Remove duplicate AM_CONFIG_HEADER.
(AM_CONFIG_HEADER): Remove testsuite/testsuite_hooks.h.
Only call GLIBCPP_CHECK_SETRLIMIT for native compiles.
* configure: Regenerate.
* testsuite_hooks.h.in: Move to...
* testsuite_hooks.h: Here, include c++config.h. Use it.
* Makefile.am (SUBDIRS): Move testsuite to last directory.
* Makefile.in: Regenerate.
* po/Makefile.am (stamp-po): Add.
2001-08-09 David Edelsohn <edelsohn@gnu.org>
* config/os/aix/bits/os_defines.h: Define std_limits.h macros.

View File

@ -1,6 +1,6 @@
## Makefile for the toplevel directory of the GNU C++ Standard library.
##
## Copyright (C) 1997,1998, 1999, 2000, 2001 Free Software Foundation, Inc.
## Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
@ -24,7 +24,7 @@
AUTOMAKE_OPTIONS = 1.3 cygnus
MAINT_CHARSET = latin1
SUBDIRS = include libio libmath libsupc++ src testsuite po intl
SUBDIRS = include libio libmath libsupc++ src po intl testsuite
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs

View File

@ -150,7 +150,7 @@ toplevel_srcdir = @toplevel_srcdir@
AUTOMAKE_OPTIONS = 1.3 cygnus
MAINT_CHARSET = latin1
SUBDIRS = include libio libmath libsupc++ src testsuite po intl
SUBDIRS = include libio libmath libsupc++ src po intl testsuite
mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
@ -171,11 +171,11 @@ MULTICLEAN = true
AM_MAKEFLAGS = "AR_FLAGS=$(AR_FLAGS)" "CC_FOR_BUILD=$(CC_FOR_BUILD)" "CC_FOR_TARGET=$(CC_FOR_TARGET)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" "INSTALL=$(INSTALL)" "INSTALL_DATA=$(INSTALL_DATA)" "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" "LDFLAGS=$(LDFLAGS)" "LIBCFLAGS=$(LIBCFLAGS)" "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" "MAKE=$(MAKE)" "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" "PICFLAG=$(PICFLAG)" "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" "SHELL=$(SHELL)" "RUNTESTFLAGS=$(RUNTESTFLAGS)" "exec_prefix=$(exec_prefix)" "infodir=$(infodir)" "libdir=$(libdir)" "includedir=$(includedir)" "prefix=$(prefix)" "tooldir=$(tooldir)" "AR=$(AR)" "AS=$(AS)" "LD=$(LD)" "LIBCFLAGS=$(LIBCFLAGS)" "PICFLAG=$(PICFLAG)" "RANLIB=$(RANLIB)" "NM=$(NM)" "NM_FOR_BUILD=$(NM_FOR_BUILD)" "NM_FOR_TARGET=$(NM_FOR_TARGET)" "DESTDIR=$(DESTDIR)" "WERROR=$(WERROR)"
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
CONFIG_HEADER = config.h config.h ./testsuite/testsuite_hooks.h
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = mkcheck testsuite_flags
DIST_COMMON = README ./stamp-h1.in ./stamp-h2.in ChangeLog Makefile.am \
Makefile.in acconfig.h acinclude.m4 aclocal.m4 config.h.in configure \
configure.in mkcheck.in testsuite_flags.in
DIST_COMMON = README ./stamp-h.in ChangeLog Makefile.am Makefile.in \
acconfig.h acinclude.m4 aclocal.m4 config.h.in configure configure.in \
mkcheck.in testsuite_flags.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
@ -199,50 +199,31 @@ config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
config.h: stamp-h1
config.h: stamp-h
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
rm -f stamp-h; \
$(MAKE) stamp-h; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status
@echo timestamp > stamp-h1 2> /dev/null
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h1.in
@echo timestamp > stamp-h 2> /dev/null
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in
@if test ! -f $@; then \
rm -f $(srcdir)/stamp-h1.in; \
$(MAKE) $(srcdir)/stamp-h1.in; \
rm -f $(srcdir)/stamp-h.in; \
$(MAKE) $(srcdir)/stamp-h.in; \
else :; fi
$(srcdir)/stamp-h1.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
cd $(top_srcdir) && $(AUTOHEADER)
@echo timestamp > $(srcdir)/stamp-h1.in 2> /dev/null
config.h: stamp-h2
@if test ! -f $@; then \
rm -f stamp-h2; \
$(MAKE) stamp-h2; \
else :; fi
stamp-h2: $(srcdir)/config.h.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status
@echo timestamp > stamp-h2 2> /dev/null
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h2.in
@if test ! -f $@; then \
rm -f $(srcdir)/stamp-h2.in; \
$(MAKE) $(srcdir)/stamp-h2.in; \
else :; fi
$(srcdir)/stamp-h2.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
cd $(top_srcdir) && $(AUTOHEADER)
@echo timestamp > $(srcdir)/stamp-h2.in 2> /dev/null
@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
mostlyclean-hdr:
clean-hdr:
distclean-hdr:
-rm -f config.h config.h
-rm -f config.h
maintainer-clean-hdr:
mkcheck: $(top_builddir)/config.status mkcheck.in
@ -392,7 +373,7 @@ installcheck-am:
installcheck: installcheck-recursive
install-info-am:
install-info: install-info-recursive
all-recursive-am: config.h config.h
all-recursive-am: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
install-exec-am:
@ -406,7 +387,7 @@ install-am: all-am
install: install-recursive
uninstall-am:
uninstall: uninstall-recursive
all-am: Makefile config.h config.h
all-am: Makefile config.h
all-redirect: all-recursive-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install

View File

@ -31,6 +31,9 @@
// Define if code specialized for wchar_t should be used.
#undef _GLIBCPP_USE_WCHAR_T
// Define if using setrlimit to limit memory usage during 'make check'.
#undef _GLIBCPP_MEM_LIMITS
// Define if you have the atan2f function.
#undef _GLIBCPP_HAVE_ATAN2F

View File

@ -1819,19 +1819,37 @@ AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT_ancilliary, [
[Only used in build directory testsuite_hooks.h.])
])
AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT, [
setrlimit_have_needed_headers=yes
setrlimit_have_headers=yes
AC_CHECK_HEADERS(sys/resource.h unistd.h,
[],
setrlimit_have_needed_headers=no)
setrlimit_have_headers=no)
# If don't have the headers, then we can't run the tests now, and we
# won't be seeing any of these during testsuite compilation.
if test $setrlimit_have_needed_headers = yes; then
if test $setrlimit_have_headers = yes; then
# Can't do these in a loop, else the resulting syntax is wrong.
GLIBCPP_CHECK_SETRLIMIT_ancilliary(DATA)
GLIBCPP_CHECK_SETRLIMIT_ancilliary(RSS)
GLIBCPP_CHECK_SETRLIMIT_ancilliary(VMEM)
GLIBCPP_CHECK_SETRLIMIT_ancilliary(AS)
# Check for rlimit, setrlimit.
AC_CACHE_VAL(ac_setrlimit, [
AC_TRY_COMPILE([#include <sys/resource.h>
#include <unistd.h>
],
[ struct rlimit r; setrlimit(0, &r);],
[ac_setrlimit=yes], [ac_setrlimit=no])
])
fi
AC_MSG_CHECKING([for testsuite memory limit support])
if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
ac_mem_limits=yes
AC_DEFINE(_GLIBCPP_MEM_LIMITS)
else
ac_mem_limits=no
fi
AC_MSG_RESULT($ac_mem_limits)
])

View File

@ -1831,19 +1831,37 @@ AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT_ancilliary, [
[Only used in build directory testsuite_hooks.h.])
])
AC_DEFUN(GLIBCPP_CHECK_SETRLIMIT, [
setrlimit_have_needed_headers=yes
setrlimit_have_headers=yes
AC_CHECK_HEADERS(sys/resource.h unistd.h,
[],
setrlimit_have_needed_headers=no)
setrlimit_have_headers=no)
# If don't have the headers, then we can't run the tests now, and we
# won't be seeing any of these during testsuite compilation.
if test $setrlimit_have_needed_headers = yes; then
if test $setrlimit_have_headers = yes; then
# Can't do these in a loop, else the resulting syntax is wrong.
GLIBCPP_CHECK_SETRLIMIT_ancilliary(DATA)
GLIBCPP_CHECK_SETRLIMIT_ancilliary(RSS)
GLIBCPP_CHECK_SETRLIMIT_ancilliary(VMEM)
GLIBCPP_CHECK_SETRLIMIT_ancilliary(AS)
# Check for rlimit, setrlimit.
AC_CACHE_VAL(ac_setrlimit, [
AC_TRY_COMPILE([#include <sys/resource.h>
#include <unistd.h>
],
[ struct rlimit r; setrlimit(0, &r);],
[ac_setrlimit=yes], [ac_setrlimit=no])
])
fi
AC_MSG_CHECKING([for testsuite memory limit support])
if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
ac_mem_limits=yes
AC_DEFINE(_GLIBCPP_MEM_LIMITS)
else
ac_mem_limits=no
fi
AC_MSG_RESULT($ac_mem_limits)
])

View File

@ -67,6 +67,9 @@
// Define if code specialized for wchar_t should be used.
#undef _GLIBCPP_USE_WCHAR_T
// Define if using setrlimit to limit memory usage during 'make check'.
#undef _GLIBCPP_MEM_LIMITS
// Define if mbstate_t exists in wchar.h.
#undef HAVE_MBSTATE_T

2077
libstdc++-v3/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,7 @@ VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
# Gets and sets build, host, target, *_vendor, *_cpu, *_os, etc.
# Gets build, host, target, *_vendor, *_cpu, *_os, etc.
# AC 2.50 sets target_alias iff the user specified --target, but we use it
# everywhere, so we set it here just to be sure.
AC_CANONICAL_SYSTEM
@ -32,8 +32,6 @@ AM_PROG_LIBTOOL
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
AM_CONFIG_HEADER(config.h testsuite/testsuite_hooks.h)
# Check for c++ or library specific bits that don't require linking.
#GLIBCPP_CHECK_COMPILER_VERSION
GLIBCPP_CHECK_GNU_MAKE
@ -189,6 +187,7 @@ else
GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
GLIBCPP_CHECK_WCHAR_T_SUPPORT
GLIBCPP_CHECK_STDLIB_SUPPORT
AC_LC_MESSAGES
AC_TRY_COMPILE([
#include <setjmp.h>
@ -197,11 +196,10 @@ else
AC_FUNC_MMAP
# Establish limits on memory usage during 'make check'
GLIBCPP_CONFIGURE_TESTSUITE
fi
# Enable/configure some pieces which may require knowledge about the
# compiler situation (native/cross), which we just finished discovering.
GLIBCPP_CONFIGURE_TESTSUITE
# Propagate the target-specific source directories through the build chain.
OS_INC_SRCDIR=$os_include_dir/bits
@ -214,7 +212,6 @@ AC_SUBST(GLIBCPP_IS_CROSS_COMPILING)
AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
AC_CACHE_SAVE
AC_LC_MESSAGES
if test "${multilib}" = "yes"; then
multilib_arg="--enable-multilib"

View File

@ -202,7 +202,7 @@ uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
# One big happy istallation: just copy everything from the build to the
# install tree (except for the build stamps).
gxx_include_dir = @gxx_include_dir@
CONFIG_HEADER = ../config.h ../config.h ../testsuite/testsuite_hooks.h
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
DIST_COMMON = Makefile.am Makefile.in

View File

@ -151,7 +151,7 @@ PACKAGE = @PACKAGE@
DISTFILES = string_literals.cc
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = ../config.h ../config.h ../testsuite/testsuite_hooks.h
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
DIST_COMMON = Makefile.am Makefile.in

View File

@ -170,12 +170,12 @@ EXTRA_DIST = iostreamP.h
libio_la_SOURCES = $(LIBIO_SRCS) $(LIBIO_WSRCS)
AM_CFLAGS = -D_GNU_SOURCE @DEBUG_FLAGS@
CONFIG_HEADER = ../config.h ../config.h ../testsuite/testsuite_hooks.h
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir) -I.. -I.. -I../testsuite
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@

View File

@ -170,12 +170,12 @@ TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
INCLUDES = $(TOPLEVEL_INCLUDES)
CONFIG_HEADER = ../config.h ../config.h ../testsuite/testsuite_hooks.h
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir) -I.. -I.. -I../testsuite
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@

View File

@ -235,12 +235,12 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared --mode=c
# compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared --mode=link $(CXX) @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
CONFIG_HEADER = ../config.h ../config.h ../testsuite/testsuite_hooks.h
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir) -I.. -I.. -I../testsuite
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@

View File

@ -39,15 +39,23 @@ LOCALE_IN = @POFILES@
LOCALE_OUT = @glibcpp_MOFILES@
.po.mo:
cat=`basename $<`; \
lang=`echo $$cat | sed 's/\.po$$//'`; \
dir=$(locale_builddir)/$$lang/LC_MESSAGES; \
$(mkinstalldirs) $$dir; \
$(MSGFMT) $< -o $$dir/$(PACKAGE).mo
$(MSGFMT) $< -o $@
all-local: all-local-@USE_NLS@
all-local-no:
all-local-yes: $(LOCALE_OUT)
all-local-yes: $(LOCALE_OUT)
# 'make check' needs the catalogs constructed in build directory.
check:
$(mkinstalldirs) $(locale_builddir)
@catalogs='$(LOCALE_OUT)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\.mo$$//'`; \
install_dir=$(locale_builddir)/$$lang/LC_MESSAGES; \
$(mkinstalldirs) $$install_dir; \
$(INSTALL_DATA) $$cat $$install_dir/$(PACKAGE).mo; \
done
# Install rules here.
# Wish install could just `cp -R ./share $(locale_installdir)` ...
@ -66,4 +74,4 @@ install-data-local-yes: all-local-yes
done
# Specify what gets cleaned up on a 'make clean'
CLEANFILES = $(LOCALE_OUT)
CLEANFILES = $(LOCALE_OUT)

View File

@ -163,9 +163,9 @@ LOCALE_IN = @POFILES@
LOCALE_OUT = @glibcpp_MOFILES@
# Specify what gets cleaned up on a 'make clean'
CLEANFILES = $(LOCALE_OUT)
CLEANFILES = $(LOCALE_OUT)
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = ../config.h ../config.h ../testsuite/testsuite_hooks.h
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@ -273,15 +273,23 @@ mostlyclean distclean maintainer-clean
.po.mo:
cat=`basename $<`; \
lang=`echo $$cat | sed 's/\.po$$//'`; \
dir=$(locale_builddir)/$$lang/LC_MESSAGES; \
$(mkinstalldirs) $$dir; \
$(MSGFMT) $< -o $$dir/$(PACKAGE).mo
$(MSGFMT) $< -o $@
all-local: all-local-@USE_NLS@
all-local-no:
all-local-yes: $(LOCALE_OUT)
all-local-yes: $(LOCALE_OUT)
# 'make check' needs the catalogs constructed in build directory.
check:
$(mkinstalldirs) $(locale_builddir)
@catalogs='$(LOCALE_OUT)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\.mo$$//'`; \
install_dir=$(locale_builddir)/$$lang/LC_MESSAGES; \
$(mkinstalldirs) $$install_dir; \
$(INSTALL_DATA) $$cat $$install_dir/$(PACKAGE).mo; \
done
# Install rules here.
# Wish install could just `cp -R ./share $(locale_installdir)` ...

View File

@ -233,12 +233,12 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) $(
# compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
CONFIG_HEADER = ../config.h ../config.h ../testsuite/testsuite_hooks.h
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir) -I.. -I.. -I../testsuite
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@

View File

@ -159,10 +159,9 @@ RUNTEST = `if [ -f @glibcpp_srcdir@/../dejagnu/runtest ] ; then echo @gl
RUNTESTFLAGS =
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
CONFIG_HEADER = ../config.h ../config.h testsuite_hooks.h
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
DIST_COMMON = README ./stamp-h3.in Makefile.am Makefile.in \
testsuite_hooks.h.in
DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
@ -178,34 +177,6 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
testsuite_hooks.h: stamp-h3
@if test ! -f $@; then \
rm -f stamp-h3; \
$(MAKE) stamp-h3; \
else :; fi
stamp-h3: $(srcdir)/testsuite_hooks.h.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=testsuite/testsuite_hooks.h \
$(SHELL) ./config.status
@echo timestamp > stamp-h3 2> /dev/null
$(srcdir)/testsuite_hooks.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h3.in
@if test ! -f $@; then \
rm -f $(srcdir)/stamp-h3.in; \
$(MAKE) $(srcdir)/stamp-h3.in; \
else :; fi
$(srcdir)/stamp-h3.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER)
@echo timestamp > $(srcdir)/stamp-h3.in 2> /dev/null
mostlyclean-hdr:
clean-hdr:
distclean-hdr:
-rm -f testsuite_hooks.h
maintainer-clean-hdr:
tags: TAGS
TAGS:
@ -270,9 +241,6 @@ installcheck-am:
installcheck: installcheck-am
install-info-am:
install-info: install-info-am
all-recursive-am: testsuite_hooks.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
install-exec-am:
install-exec: install-exec-am
@ -284,7 +252,7 @@ install-am: all-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile testsuite_hooks.h
all-am: Makefile
all-redirect: all-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
@ -300,34 +268,31 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
mostlyclean-am: mostlyclean-hdr mostlyclean-generic
mostlyclean-am: mostlyclean-generic
mostlyclean: mostlyclean-am
clean-am: clean-hdr clean-generic mostlyclean-am
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-hdr distclean-generic clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
distclean: distclean-am
maintainer-clean-am: maintainer-clean-hdr maintainer-clean-generic \
distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
tags distdir check-DEJAGNU info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-info-am install-info \
all-recursive-am install-exec-am install-exec install-data-am \
install-data install-am install uninstall-am uninstall all-redirect \
all-am all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
.PHONY: tags distdir check-DEJAGNU info-am info dvi-am dvi check \
check-am installcheck-am installcheck install-info-am install-info \
install-exec-am install-exec install-data-am install-data install-am \
install uninstall-am uninstall all-redirect all-am all installdirs \
mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -38,54 +38,33 @@
// __set_testsuite_memlimit() uses setrlimit() to restrict dynamic memory
// allocation. We provide a default memory limit if none is passed by the
// calling application. The argument to __set_testsuite_memlimit() is the
// limit in megabytes (a floating-point number). If NO_MEM_LIMITS is
// limit in megabytes (a floating-point number). If _GLIBCPP_MEM_LIMITS is
// #defined before including this header, then no limiting is attempted.
#ifndef _GLIBCPP_TESTSUITE_HOOKS_H
#define _GLIBCPP_TESTSUITE_HOOKS_H
/*******
* VERIFY(), via DEBUG_ASSERT, from Brent Verner <brent@rcfile.org>.
*/
#ifdef DEBUG_ASSERT
# include <cassert>
# define VERIFY(fn) assert(fn)
#else
# define VERIFY(fn) test &= (fn)
# define VERIFY(fn) fn
#endif
#include <bits/c++config.h>
// Defined in GLIBCPP_CONFIGURE_TESTSUITE.
#ifndef _GLIBCPP_MEM_LIMITS
// Don't do memory limits.
void
__set_testsuite_memlimit(float)
{ }
#else
# define VERIFY(fn) test &= (fn)
// should we define this here to make sure no 'unexpected' failures
// happen, or do we require that it be defined in any scope where
// the VERIFY macro is used???
//
// static bool test = true;
#endif
/*******
* __set_testsuite_memlimit()
*/
// The RLIMIT_* macros used will be as many of the following as we can find,
// and they will be used in this order, for whatever difference it makes:
// RLIMIT_DATA
// RLIMIT_RSS
// RLIMIT_VMEM
// RLIMIT_AS
#define NO_MEM_LIMITS
// The following lines will be changed by configure...
#undef HAVE_SYS_RESOURCE_H
#undef HAVE_UNISTD_H
#undef HAVE_MEMLIMIT_DATA
#undef HAVE_MEMLIMIT_RSS
#undef HAVE_MEMLIMIT_VMEM
#undef HAVE_MEMLIMIT_AS
// ...and the results used here.
#if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_UNISTD_H) && !defined(NO_MEM_LIMITS)
// Do memory limits.
#include <sys/resource.h>
#include <unistd.h>
@ -94,40 +73,32 @@
#endif
void
__set_testsuite_memlimit(float megs = MEMLIMIT_MB)
__set_testsuite_memlimit(float __size = MEMLIMIT_MB)
{
struct rlimit r;
r.rlim_cur = (rlim_t)(megs * 1048576);
r.rlim_cur = (rlim_t)(__size * 1048576);
// heap size, seems to be common
#if HAVE_MEMLIMIT_DATA
setrlimit (RLIMIT_DATA, &r);
// Heap size, seems to be common.
#if _GLIBCPP_HAVE_MEMLIMIT_DATA
setrlimit(RLIMIT_DATA, &r);
#endif
// resident set size -- Linux?
#if HAVE_MEMLIMIT_RSS
setrlimit (RLIMIT_RSS, &r);
// Resident set size.
#if _GLIBCPP_HAVE_MEMLIMIT_RSS
setrlimit(RLIMIT_RSS, &r);
#endif
// mapped memory (brk+mmap) -- Solaris?
#if HAVE_MEMLIMIT_VMEM
setrlimit (RLIMIT_VMEM, &r);
// Mapped memory (brk + mmap).
#if _GLIBCPP_HAVE_MEMLIMIT_VMEM
setrlimit(RLIMIT_VMEM, &r);
#endif
// virtual memory, seems to be common
#if HAVE_MEMLIMIT_AS
setrlimit (RLIMIT_AS, &r);
// Virtual memory.
#if _GLIBCPP_HAVE_MEMLIMIT_AS
setrlimit(RLIMIT_AS, &r);
#endif
}
#else
// The headers needed for resource limiting are not available. This is
// safe, but means that no memory limits will be applied... ouch.
#define __set_testsuite_memlimit(__junk)
#endif
#endif // _GLIBCPP_TESTSUITE_HOOKS_H