gdb: add --with-curses to --configuration output
authorPhilippe Blain <levraiphilippeblain@gmail.com>
Sun, 19 Feb 2023 22:37:35 +0000 (17:37 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Tue, 21 Feb 2023 14:36:34 +0000 (09:36 -0500)
'gdb --configuration' does not mention if GDB was built with curses.
Since b5075fb68d4 (Rename to allow_tui_tests, 2023-01-08) it does show
--enable-tui (or --disable-tui), but one might want to know if GDB was
built with curses independently of the availability of the TUI.

Since configure.ac uses AC_SEARCH_LIBS to check for the curses library,
we do not get an automatically defined HAVE_LIBCURSES symbol in
config.in. We do have symbols defined by AC_CHECK_HEADERS
(HAVE_CURSES_H, etc.) but it would be cumbersome to use those in
print_gdb_configuration because we would have to check for all 6 symbols
corresponding the 6 headers listed. This would also increase the
maintenance burden if support for other variations of curses are added.

Instead, define 'HAVE_LIBCURSES' ourselves by adding an
'action-if-found' argument to AC_SEARCH_LIBS, and use it in
print_gdb_configuration.

While at it, remove the condition on 'ac_cv_search_waddstr' and set
'curses_found' directly in 'action-if-found'.

Change-Id: Id90e3d73990e169cee51bcc3e1d52072cfacd5b8
Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/config.in
gdb/configure
gdb/configure.ac
gdb/top.c

index a60278474443b8f81f34bd38aeb1e8e440e54527..a7da88b92d77e71be24e5be162026caba0ff4089 100644 (file)
 /* Define if libbacktrace is being used. */
 #undef HAVE_LIBBACKTRACE
 
+/* Define to 1 if curses is enabled. */
+#undef HAVE_LIBCURSES
+
 /* Define to 1 if debuginfod is enabled. */
 #undef HAVE_LIBDEBUGINFOD
 
index cfdaf59a7b74676670e13ae6696f59ffbc9097ea..6bce5c70566468d837adfa51b7ebd9c3c9404efc 100755 (executable)
@@ -20624,13 +20624,13 @@ $as_echo "$ac_cv_search_waddstr" >&6; }
 ac_res=$ac_cv_search_waddstr
 if test "$ac_res" != no; then :
   test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+  curses_found=yes
 
-fi
+$as_echo "#define HAVE_LIBCURSES 1" >>confdefs.h
 
 
-  if test "$ac_cv_search_waddstr" != no; then
-    curses_found=yes
-  fi
+fi
+
 fi
 
 # Check whether we should enable the TUI, but only do so if we really
index 734589856a1688ec5b78de4240afb48c92743981..14012a9e86807335c6b386001ed93918dc0fb82d 100644 (file)
@@ -564,11 +564,11 @@ if test x"$prefer_curses" = xyes; then
   # search /usr/local/include, if ncurses is installed in /usr/local.  A
   # default installation of ncurses on alpha*-dec-osf* will lead to such
   # a situation.
-  AC_SEARCH_LIBS(waddstr, [ncursesw ncurses cursesX curses])
-
-  if test "$ac_cv_search_waddstr" != no; then
-    curses_found=yes
-  fi
+  AC_SEARCH_LIBS(waddstr, [ncursesw ncurses cursesX curses],
+                 [curses_found=yes
+                  AC_DEFINE([HAVE_LIBCURSES], [1],
+                            [Define to 1 if curses is enabled.])
+                 ])
 fi
 
 # Check whether we should enable the TUI, but only do so if we really
index 1b189d7c5abca76157fc52ddce3dd9906260ae83..d71d8495622db1a8a07af7b1d1458b67aa181d3d 100644 (file)
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1619,6 +1619,16 @@ This GDB was configured as follows:\n\
 "));
 #endif
 
+#if HAVE_LIBCURSES
+  gdb_printf (stream, _("\
+            --with-curses\n\
+"));
+#else
+  gdb_printf (stream, _("\
+            --without-curses\n\
+"));
+#endif
+
 #if HAVE_GUILE
   gdb_printf (stream, _("\
             --with-guile\n\