]> git.draconx.ca Git - cdecl99.git/commitdiff
Add configure option to disable readline.
authorNick Bowler <nbowler@draconx.ca>
Fri, 5 Mar 2021 00:15:37 +0000 (19:15 -0500)
committerNick Bowler <nbowler@draconx.ca>
Fri, 5 Mar 2021 00:15:37 +0000 (19:15 -0500)
Apparently the Gnulib readline module does not provide any obvious way
for users to disable it.  Setting the gl_cv_lib_readline cache variable
works but probably only Autoconfers will know how to discover that.

Add an explicit --with-readline (and --without-readline) option which
internally sets this.  Since this option shows up in configure's help
output it is hopefully more obvious.

configure.ac

index 5fd17d6674f15241b0f6f60c9e2f2ce8f5c36a19..e1609cbaf43677d80cbf4e5bb9abdb89c55aa60e 100644 (file)
@@ -12,6 +12,15 @@ AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign subdir-objects dist-xz])
 AM_SILENT_RULES([yes])
 DX_AUTOMAKE_COMPAT
 
+AC_ARG_WITH([readline],
+  [AS_HELP_STRING([--with-readline],
+    [use GNU readline for line-editing functionality (default: auto)])],
+  [], [with_readline=auto])
+AS_CASE([$with_readline],
+  [no], [gl_cv_lib_readline=no],
+  [yes|auto], [:],
+  [*], [AC_MSG_ERROR([invalid option --with-readline=$with_readline])])
+
 AC_PROG_CC_C99
 AM_PROG_CC_C_O
 gl_EARLY
@@ -19,6 +28,10 @@ gl_EARLY
 LT_INIT
 gl_INIT
 
+AS_IF([test x"$gl_cv_lib_readline" = x"no"],
+  [AS_IF([test x"$with_readline" = x"yes"],
+    [AC_MSG_FAILURE([--with-readline requested but readline was not found])],
+    [dx_cv_rl_add_history=no])])
 AC_CACHE_CHECK([if readline supports add_history], [dx_cv_rl_add_history], [dnl
 dx_cv_rl_add_history=no
 dx_save_libs=$LIBS
@@ -35,8 +48,8 @@ LIBS=$dx_save_libs
 ])
 
 AS_IF([test x"$dx_cv_rl_add_history" = x"yes"],
-       [AC_DEFINE([HAVE_RL_ADD_HISTORY], [1],
-               [Define to 1 if readline supports add_history.])])
+  [AC_DEFINE([HAVE_RL_ADD_HISTORY], [1],
+    [Define to 1 if readline supports add_history.])])
 
 m4_include([lib/gnulib.mk])
 DX_GLSYM_PREFIX([cdecl__])