From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id VmjmOEkr/WLUpSgAWB0awg (envelope-from ) for ; Wed, 17 Aug 2022 13:54:17 -0400 Received: by simark.ca (Postfix, from userid 112) id DB2281E5EA; Wed, 17 Aug 2022 13:54:17 -0400 (EDT) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=oTgLjVCd; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id B42C61E13B for ; Wed, 17 Aug 2022 13:54:13 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3380B385829C for ; Wed, 17 Aug 2022 17:54:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3380B385829C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1660758853; bh=kyhRKT7As7m6zMNXiX6qyorcQ9OXD5JCSWT7u7glNHc=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=oTgLjVCd4u6P/FH46ENfuzejQB57hasu19EmxWAPj9zW4oOYI6I9bHJuoo4kk5T3T kMupMMwG53AOF/6nBjikBfMxxsfl7KoZkg+SLV99a6V049rSXUjmPv+JJd7TkNBrBV muxS406yN1Dnr0le7lJ+UNUUURYgtqpqKAs/G7jI= Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id 7FBD03858D1E for ; Wed, 17 Aug 2022 17:53:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7FBD03858D1E Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 27HHrgGl017005 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 17 Aug 2022 13:53:47 -0400 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 27HHrgGl017005 Received: from simark.localdomain (unknown [217.28.27.60]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 173201E13B; Wed, 17 Aug 2022 13:53:42 -0400 (EDT) To: gdb-patches@sourceware.org Subject: [PATCH] gdb, gdbsupport: configure: factor out yes/no/auto value checking Date: Wed, 17 Aug 2022 13:53:41 -0400 Message-Id: <20220817175341.1594352-1-simon.marchi@polymtl.ca> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Wed, 17 Aug 2022 17:53:42 +0000 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Simon Marchi via Gdb-patches Reply-To: Simon Marchi Cc: Simon Marchi Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" From: Simon Marchi Factor out the code that checks that a value is yes/no or yes/no/auto. Add two macros to gdbsupport/common.m4 and use them in gdb/configure.ac I inspected the changes to configure. Other than whitespace changes, we have some benign changes to the error messages (one of them had an error actually). There are changes to the --enable-source-highlight and --enable-libbacktrace handling, but setting enable_source_highlight / enable_libbacktrace was not really useful anyway, they already had the right value. Change-Id: I92587aec36874309e1605e2d60244649f09a757a --- gdb/configure | 96 ++++++++++++++++++++++++++------------------ gdb/configure.ac | 84 +++++++++++++------------------------- gdbsupport/common.m4 | 28 +++++++++++++ 3 files changed, 115 insertions(+), 93 deletions(-) diff --git a/gdb/configure b/gdb/configure index 4b5e031bff90..75af07bc6a08 100755 --- a/gdb/configure +++ b/gdb/configure @@ -6817,12 +6817,15 @@ fi # Enable MI. # Check whether --enable-gdbmi was given. if test "${enable_gdbmi+set}" = set; then : - enableval=$enable_gdbmi; case $enableval in - yes | no) - ;; - *) - as_fn_error $? "bad value $enableval for --enable-gdbmi" "$LINENO" 5 ;; - esac + enableval=$enable_gdbmi; + case $enableval in + yes | no) + ;; + *) + as_fn_error $? "bad value $enableval for --enable-gdbmi" "$LINENO" 5 + ;; + esac + else enable_gdbmi=yes fi @@ -6839,12 +6842,15 @@ fi # Enable TUI. # Check whether --enable-tui was given. if test "${enable_tui+set}" = set; then : - enableval=$enable_tui; case $enableval in - yes | no | auto) - ;; - *) - as_fn_error $? "bad value $enableval for --enable-tui" "$LINENO" 5 ;; - esac + enableval=$enable_tui; + case $enableval in + yes | no | auto) + ;; + *) + as_fn_error $? "bad value $enableval for --enable-tui" "$LINENO" 5 + ;; + esac + else enable_tui=auto fi @@ -6853,18 +6859,21 @@ fi # Enable gdbtk. # Check whether --enable-gdbtk was given. if test "${enable_gdbtk+set}" = set; then : - enableval=$enable_gdbtk; case $enableval in - yes | no) - ;; - *) - as_fn_error $? "bad value $enableval for --enable-gdbtk" "$LINENO" 5 ;; - esac + enableval=$enable_gdbtk; + case $enableval in + yes | no) + ;; + *) + as_fn_error $? "bad value $enableval for --enable-gdbtk" "$LINENO" 5 + ;; + esac + else if test -d "$srcdir/gdbtk"; then - enable_gdbtk=yes - else - enable_gdbtk=no - fi + enable_gdbtk=yes + else + enable_gdbtk=no + fi fi # We unconditionally disable gdbtk tests on selected platforms. @@ -7205,12 +7214,15 @@ fi # Profiling support. # Check whether --enable-profiling was given. if test "${enable_profiling+set}" = set; then : - enableval=$enable_profiling; case $enableval in - yes | no) - ;; - *) - as_fn_error $? "bad value $enableval for --enable-profile" "$LINENO" 5 ;; - esac + enableval=$enable_profiling; + case $enableval in + yes | no) + ;; + *) + as_fn_error $? "bad value $enableval for --enable-profiling" "$LINENO" 5 + ;; + esac + else enable_profiling=no fi @@ -12039,11 +12051,15 @@ SRCHIGH_CFLAGS= # Check whether --enable-source-highlight was given. if test "${enable_source_highlight+set}" = set; then : - enableval=$enable_source_highlight; case "${enableval}" in - yes) enable_source_highlight=yes ;; - no) enable_source_highlight=no ;; - *) as_fn_error $? "bad value ${enableval} for source-highlight option" "$LINENO" 5 ;; -esac + enableval=$enable_source_highlight; + case $enableval in + yes | no) + ;; + *) + as_fn_error $? "bad value $enableval for --enable-source-hightlight" "$LINENO" 5 + ;; + esac + else enable_source_highlight=auto fi @@ -18756,11 +18772,15 @@ fi # Setup possible use of libbacktrace. # Check whether --enable-libbacktrace was given. if test "${enable_libbacktrace+set}" = set; then : - enableval=$enable_libbacktrace; case "${enableval}" in - yes) enable_libbacktrace=yes ;; - no) enable_libbacktrace=no ;; - *) as_fn_error $? "bad value ${enableval} for --enable-libbacktrace option" "$LINENO" 5 ;; -esac + enableval=$enable_libbacktrace; + case $enableval in + yes | no) + ;; + *) + as_fn_error $? "bad value $enableval for --enable-libbacktrace" "$LINENO" 5 + ;; + esac + else enable_libbacktrace=yes fi diff --git a/gdb/configure.ac b/gdb/configure.ac index b681988d7a4f..60d1dddfb671 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -259,15 +259,10 @@ if test "x$targ_defvec" != x; then fi # Enable MI. -AC_ARG_ENABLE(gdbmi, -AS_HELP_STRING([--disable-gdbmi], [disable machine-interface (MI)]), - [case $enableval in - yes | no) - ;; - *) - AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;; - esac], - [enable_gdbmi=yes]) +AC_ARG_ENABLE([gdbmi], + [AS_HELP_STRING([--disable-gdbmi], [disable machine-interface (MI)])], + [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdbmi])], + [enable_gdbmi=yes]) if test x"$enable_gdbmi" = xyes; then if test -d "$srcdir/mi"; then CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)" @@ -279,28 +274,20 @@ fi # Enable TUI. AC_ARG_ENABLE(tui, -AS_HELP_STRING([--enable-tui], [enable full-screen terminal user interface (TUI)]), - [case $enableval in - yes | no | auto) - ;; - *) - AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;; - esac],enable_tui=auto) +AS_HELP_STRING([--enable-tui], + [enable full-screen terminal user interface (TUI)]), + [GDB_CHECK_YES_NO_AUTO_VAL([$enableval], [--enable-tui])], + [enable_tui=auto]) # Enable gdbtk. -AC_ARG_ENABLE(gdbtk, -AS_HELP_STRING([--enable-gdbtk], [enable gdbtk graphical user interface (GUI)]), - [case $enableval in - yes | no) - ;; - *) - AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;; - esac], - [if test -d "$srcdir/gdbtk"; then - enable_gdbtk=yes - else - enable_gdbtk=no - fi]) +AC_ARG_ENABLE([gdbtk], + [AS_HELP_STRING([--enable-gdbtk], [enable gdbtk graphical user interface (GUI)])], + [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdbtk])], + [if test -d "$srcdir/gdbtk"; then + enable_gdbtk=yes + else + enable_gdbtk=no + fi]) # We unconditionally disable gdbtk tests on selected platforms. case $host_os in go32* | windows*) @@ -359,15 +346,10 @@ if test "$opt_curses" = "yes"; then fi # Profiling support. -AC_ARG_ENABLE(profiling, -AS_HELP_STRING([--enable-profiling], [enable profiling of GDB]), - [case $enableval in - yes | no) - ;; - *) - AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;; - esac], - [enable_profiling=no]) +AC_ARG_ENABLE([profiling], + [AS_HELP_STRING([--enable-profiling], [enable profiling of GDB])], + [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-profiling])], + [enable_profiling=no]) AC_CHECK_FUNCS(monstartup _mcleanup) AC_CACHE_CHECK( @@ -1197,15 +1179,11 @@ AM_CONDITIONAL(HAVE_GUILE, test "${have_libguile}" != no) SRCHIGH_LIBS= SRCHIGH_CFLAGS= -AC_ARG_ENABLE(source-highlight, - AS_HELP_STRING([--enable-source-highlight], - [enable source-highlight for source listings]), - [case "${enableval}" in - yes) enable_source_highlight=yes ;; - no) enable_source_highlight=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for source-highlight option) ;; -esac], -[enable_source_highlight=auto]) +AC_ARG_ENABLE([source-highlight], + [AS_HELP_STRING([--enable-source-highlight], + [enable source-highlight for source listings])], + [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-source-highlight])], + [enable_source_highlight=auto]) if test "${enable_source_highlight}" != "no"; then AC_MSG_CHECKING([for the source-highlight library]) @@ -2105,14 +2083,10 @@ fi # Setup possible use of libbacktrace. AC_ARG_ENABLE([libbacktrace], -[AS_HELP_STRING([--enable-libbacktrace], - [use libbacktrace to write a backtrace after a fatal signal.])], -[case "${enableval}" in - yes) enable_libbacktrace=yes ;; - no) enable_libbacktrace=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-libbacktrace option) ;; -esac], -enable_libbacktrace=yes) + [AS_HELP_STRING([--enable-libbacktrace], + [use libbacktrace to write a backtrace after a fatal signal.])], + [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-libbacktrace])], + [enable_libbacktrace=yes]) if test "${enable_libbacktrace}" = "yes"; then LIBBACKTRACE_INC="-I$srcdir/../libbacktrace/ -I../libbacktrace/" diff --git a/gdbsupport/common.m4 b/gdbsupport/common.m4 index d3e9ecbe8238..0fed186ae1d9 100644 --- a/gdbsupport/common.m4 +++ b/gdbsupport/common.m4 @@ -216,3 +216,31 @@ AC_DEFUN([GDB_AC_COMMON], [ BFD_HAVE_SYS_PROCFS_TYPE(elf_fpregset_t) fi ]) + +dnl Check that the provided value ($1) is either "yes" or "no". If not, +dnl emit an error message mentionning the configure option $2, and abort +dnl the script. +AC_DEFUN([GDB_CHECK_YES_NO_VAL], + [ + case $1 in + yes | no) + ;; + *) + AC_MSG_ERROR([bad value $1 for $2]) + ;; + esac + ]) + +dnl Check that the provided value ($1) is either "yes", "no" or "auto". If not, +dnl emit an error message mentionning the configure option $2, and abort +dnl the script. +AC_DEFUN([GDB_CHECK_YES_NO_AUTO_VAL], + [ + case $1 in + yes | no | auto) + ;; + *) + AC_MSG_ERROR([bad value $1 for $2]) + ;; + esac + ]) base-commit: 02d04eac24f497e34ac9869bac5bfb1e044a6b62 prerequisite-patch-id: cbaa81d72f895c0a42b3995b663c1e2d941b6feb -- 2.37.1