binutils-gdb/gdb/testsuite/configure.ac
Pedro Alves 2a31c6236d Integrate PR 12649's race detector directly in the testsuite machinery
This integrates Jan Kratochvil's nice race reproducer from PR
testsuite/12649 into the testsuite infrustructure directly.

With this, one only has to do either 'make check-read1' or 'make check
READ1="1"' to preload the read1.so library into expect.

Currently only enabled for glibc/GNU systems, and if
build==host==target.

gdb/testsuite/ChangeLog:

	* Makefile.in (EXTRA_RULES, CC): New variables, get from
	configure.
	(EXPECT): Handle READ1 being set.
	(all): Depend on EXTRA_RULES.
	(check-read1, expect-read1, read1.so, read1): New rules.
	* README (Testsuite Parameters): Document the READ1 make variable.
	(Race detection): New section.
	* configure: Regenerate.
	* configure.ac: If build==host==target, and running under a
	GNU/glibc system, add read1 to the extra Makefile rules.
	(EXTRA_RULES): AC_SUBST it.
	* lib/read1.c: New file.

gdb/ChangeLog:

	* Makefile.in (check-read1): New rule.
2014-08-20 18:55:54 +01:00

112 lines
3.4 KiB
Plaintext

# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
# Copyright 2002-2014 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.59)
AC_INIT(gdb.base)
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
ACX_NONCANONICAL_TARGET
# Check for the 'make' the user wants to use.
AC_CHECK_PROGS(MAKE, make)
MAKE_IS_GNU=
case "`$MAKE --version 2>&1 | sed 1q`" in
*GNU*)
MAKE_IS_GNU=yes
;;
esac
AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
AC_PROG_MAKE_SET
# Enable gdbtk.
AC_ARG_ENABLE(gdbtk,
[ --enable-gtk enable gdbtk graphical user interface (GUI)],,
[if test -d $srcdir/../gdbtk && test -d $srcdir/gdb.gdbtk; then
enable_gdbtk=yes
else
enable_gdbtk=no
fi])
# We unconditionally disable gdbtk tests on selected platforms.
case $host_os in
go32* | windows*)
enable_gdbtk=no ;;
esac
# Add gdbtk tests when appropriate.
if test $enable_gdbtk = yes; then
AC_CONFIG_SUBDIRS(gdb.gdbtk)
fi
# Enable shared libraries.
AC_ARG_ENABLE(shared,
[ --enable-shared build shared libraries [deault=yes]],,
enable_shared=yes)
# If we have shared libraries, try to set RPATH_ENVVAR reasonably,
# such that we can find the shared libraries in the build tree.
if test $enable_shared = no; then
# The variable `RPATH_ENVVAR' itself is not likely to be used on any
# platform.
RPATH_ENVVAR=RPATH_ENVVAR
else
# The variable `LD_LIBRARY_PATH' is used on most platforms.
RPATH_ENVVAR=LD_LIBRARY_PATH
# The following exceptions are taken from Libtool 1.4.3.
case $host_os in
aix*)
if test $host_cpu != ia64; then
RPATH_ENVVAR=LIBPATH
fi ;;
darwin* | rhapsody*)
RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
hpux*)
RPATH_ENVVAR=SHLIB_PATH ;;
esac
fi
AC_SUBST(RPATH_ENVVAR)
AC_CHECK_HEADERS(pthread.h)
AC_EXEEXT
if test "${build}" = "${host}" -a "${host}" = "${target}"; then
case "${host}" in
*gnu*)
EXTRA_RULES=read1
;;
esac
fi
AC_SUBST(EXTRA_RULES)
AC_OUTPUT([Makefile \
gdb.ada/Makefile \
gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile \
gdb.cell/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile \
gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile gdb.go/Makefile \
gdb.server/Makefile gdb.java/Makefile \
gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile \
gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \
gdb.hp/gdb.defects/Makefile gdb.guile/Makefile gdb.linespec/Makefile \
gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile \
gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile \
gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \
gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile])