gdb, gdbsupport: configure: factor out yes/no/auto value checking
authorSimon Marchi <simon.marchi@efficios.com>
Thu, 28 Jul 2022 20:09:45 +0000 (16:09 -0400)
committerSimon Marchi <simon.marchi@polymtl.ca>
Fri, 26 Aug 2022 14:29:51 +0000 (10:29 -0400)
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
gdb/configure.ac
gdbsupport/common.m4

index 4b5e031bff906a0dde5785070403a5d451ea80cd..4dbd0c3b13ceeb94a3e50d246a481eb981be5eff 100755 (executable)
@@ -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 | auto)
+              ;;
+            *)
+              as_fn_error $? "bad value $enableval for --enable-source-highlight" "$LINENO" 5
+              ;;
+          esac
+
 else
   enable_source_highlight=auto
 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
index b681988d7a4f38a2966b8f5319b4d50555049f52..215a91c5b278f5fce363e24d1b8e409f9137adf2 100644 (file)
@@ -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_AUTO_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/"
index d3e9ecbe823831e980004cfe30afb333fdecd477..0fed186ae1d9aa9bd2089c69fc9dce441e31dc28 100644 (file)
@@ -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
+         ])