binutils-gdb/gdb/gdbserver/acinclude.m4
Sergio Durigan Junior 8ecfd7bd4a Add parameter to allow enabling/disabling selftests via configure
This is a follow-up of:

  https://sourceware.org/ml/gdb-patches/2018-08/msg00347.html

Instead of going throttle and always enabling our selftests (even in
non-development builds), this patch is a bit more conservative and
introduces a configure option ("--enable-unit-tests") that allows the
user to choose whether she wants unit tests in the build or not.  Note
that the current behaviour is retained: if no option is provided, GDB
will have selftests included in a development build, and will *not*
have selftests included in a non-development build.

The rationale for having this option is still the same: due to the
many racy testcases and random failures we see when running the GDB
testsuite, it is unfortunately not possible to perform a full test
when one is building a downstream package.  As the Fedora GDB
maintainer and one of the Debian GDB uploaders, I feel like this
situation could be improved by, at least, executing our selftests
after the package has been built.

This patch introduces no regressions to our build.

OK?

gdb/ChangeLog:
2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>
	    Simon Marchi <simark@simark.ca>

	* README (`configure' options): Add documentation for new
	"--enable-unit-tests" option.
	* acinclude.m4: Include "selftest.m4".
	* configure: Regenerate.
	* configure.ac: Use "GDB_AC_SELFTEST".
	* maint.c (maintenance_selftest): Update message informing
	that selftests have been disabled.
	(maintenance_info_selftests): Likewise.
	* selftest.m4: New file.

gdb/gdbserver/ChangeLog:
2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>
	    Simon Marchi <simark@simark.ca>

	* acinclude.m4: Include "../selftest.m4".
	* configure: Regenerate.
	* configure.ac: Use "GDB_AC_SELFTEST".
	* configure.srv: Use "$enable_unittests" instead of
	"$development" when checking whether unit tests have been
	enabled.
	* server.c (captured_main): Update message informing that
	selftests have been disabled.

gdb/testsuite/ChangeLog:
2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>

	* gdb.gdb/unittest.exp: Update expected message informing that
	selftests have been disabled.
	* gdb.server/unittest.exp: Likewise.

squash! Add parameter to allow enabling/disabling selftests via configure
2018-10-10 16:23:56 -04:00

55 lines
1.4 KiB
Plaintext

dnl gdb/gdbserver/configure.in uses BFD_HAVE_SYS_PROCFS_TYPE.
sinclude(../../bfd/bfd.m4)
sinclude(../acx_configure_dir.m4)
# This gets GDB_AC_LIBMCHECK.
sinclude(../libmcheck.m4)
# This gets AM_GDB_WARNINGS.
sinclude(../warning.m4)
dnl This gets autoconf bugfixes
sinclude(../../config/override.m4)
dnl For ACX_PKGVERSION and ACX_BUGURL.
sinclude(../../config/acx.m4)
m4_include(../../config/depstand.m4)
m4_include(../../config/lead-dot.m4)
dnl codeset.m4 is needed for common.m4, but not for
dnl anything else in gdbserver.
m4_include(../../config/codeset.m4)
m4_include(../common/common.m4)
dnl For libiberty_INIT.
m4_include(../libiberty.m4)
dnl For GDB_AC_PTRACE.
m4_include(../ptrace.m4)
m4_include(../ax_cxx_compile_stdcxx.m4)
dnl For GDB_AC_SELFTEST.
m4_include(../selftest.m4)
dnl Check for existence of a type $1 in libthread_db.h
dnl Based on BFD_HAVE_SYS_PROCFS_TYPE in bfd/bfd.m4.
AC_DEFUN([GDBSERVER_HAVE_THREAD_DB_TYPE],
[AC_MSG_CHECKING([for $1 in thread_db.h])
AC_CACHE_VAL(gdbserver_cv_have_thread_db_type_$1,
[AC_TRY_COMPILE([
#include <thread_db.h>],
[$1 avar],
gdbserver_cv_have_thread_db_type_$1=yes,
gdbserver_cv_have_thread_db_type_$1=no
)])
if test $gdbserver_cv_have_thread_db_type_$1 = yes; then
AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z]), 1,
[Define if <thread_db.h> has $1.])
fi
AC_MSG_RESULT($gdbserver_cv_have_thread_db_type_$1)
])