mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-14 12:53:34 +08:00
2a31c6236d
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.
112 lines
3.4 KiB
Plaintext
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])
|