1dnl Copyright (C) 2018-2023 Free Software Foundation, Inc. 2dnl 3dnl This file is part of GDB. 4dnl 5dnl This program is free software; you can redistribute it and/or modify 6dnl it under the terms of the GNU General Public License as published by 7dnl the Free Software Foundation; either version 3 of the License, or 8dnl (at your option) any later version. 9dnl 10dnl This program is distributed in the hope that it will be useful, 11dnl but WITHOUT ANY WARRANTY; without even the implied warranty of 12dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13dnl GNU General Public License for more details. 14dnl 15dnl You should have received a copy of the GNU General Public License 16dnl along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18dnl GDB_AC_SELFTEST(ACTION-IF-ENABLED) 19dnl 20dnl Enable the unit/self tests if needed. If they are enabled, AC_DEFINE 21dnl the GDB_SELF_TEST macro, and execute ACTION-IF-ENABLED. 22 23AC_DEFUN([GDB_AC_SELFTEST],[ 24# Check whether we will enable the inclusion of unit tests when 25# compiling GDB. 26# 27# The default value of this option changes depending whether we're on 28# development mode (in which case it's "true") or not (in which case 29# it's "false"). The $development variable is set by the GDB_AC_COMMON 30# macro, which must therefore be used before GDB_AC_SELFTEST. 31 32AS_IF([test "x$development" != xtrue && test "x$development" != xfalse], 33 [AC_MSG_ERROR([Invalid value for \$development, got "$development", expecting "true" or "false".])]) 34 35AC_ARG_ENABLE(unit-tests, 36AS_HELP_STRING([--enable-unit-tests], 37[Enable the inclusion of unit tests when compiling GDB]), 38[case "${enableval}" in 39 yes) enable_unittests=true ;; 40 no) enable_unittests=false ;; 41 *) AC_MSG_ERROR( 42[bad value ${enableval} for --{enable,disable}-unit-tests option]) ;; 43esac], [enable_unittests=$development]) 44 45if $enable_unittests; then 46 AC_DEFINE(GDB_SELF_TEST, 1, 47 [Define if self-testing features should be enabled]) 48 $1 49fi 50]) 51