]> git.draconx.ca Git - cdecl99.git/blobdiff - configure.ac
Include glthread headers late.
[cdecl99.git] / configure.ac
index 103bae2253fe0caa874c87fdadef91f958d32f23..0784644ab20d89d9cb9013c384abe9b252f65acd 100644 (file)
@@ -1,23 +1,59 @@
-dnl Copyright © 2011 Nick Bowler
+dnl Copyright © 2011-2013, 2020-2021 Nick Bowler
 dnl
 dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
 dnl This is free software: you are free to do what the fuck you want to.
 dnl There is NO WARRANTY, to the extent permitted by law.
 
 AC_PREREQ([2.68])
 dnl
 dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
 dnl This is free software: you are free to do what the fuck you want to.
 dnl There is NO WARRANTY, to the extent permitted by law.
 
 AC_PREREQ([2.68])
-AC_INIT([cdecl99], [0.1], [nbowler@draconx.ca])
-AC_CONFIG_HEADER([config.h])
-AC_CONFIG_MACRO_DIR([m4])
+AC_INIT([cdecl99], [1.1a], [nbowler@draconx.ca])
+AC_CONFIG_HEADERS([config.h])
 
 
-AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
+AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign subdir-objects dist-xz])
 AM_SILENT_RULES([yes])
 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
 
 AC_PROG_CC_C99
+AM_PROG_CC_C_O
 gl_EARLY
 
 LT_INIT
 gl_INIT
 
 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
+LIBS="$LIBS $LIBREADLINE"
+AC_LINK_IFELSE([AC_LANG_PROGRAM([dnl
+#include <stdio.h>
+#if HAVE_READLINE_HISTORY_H
+#  include <readline/history.h>
+#endif
+], [dnl
+(*add_history)("");
+])], [dx_cv_rl_add_history=yes], [dx_cv_rl_add_history=no])
+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.])])
+
+m4_include([lib/gnulib.mk])
+DX_GLSYM_PREFIX([cdecl__])
+
 dnl We provide our own makefile rules for gettext.  Disable tracing of
 dnl AM_GNU_GETTEXT to prevent autoreconf from running autopoint, and to
 dnl prevent automake from growing gratuitous error conditions.
 dnl We provide our own makefile rules for gettext.  Disable tracing of
 dnl AM_GNU_GETTEXT to prevent autoreconf from running autopoint, and to
 dnl prevent automake from growing gratuitous error conditions.
@@ -25,17 +61,41 @@ m4_traceoff([AM_GNU_GETTEXT])
 AM_GNU_GETTEXT([external])
 DX_LINGUAS
 
 AM_GNU_GETTEXT([external])
 DX_LINGUAS
 
-AC_ARG_VAR([FLEX], [Command to invoke flex.  Defaults to flex.])
-AC_ARG_VAR([FLEXFLAGS], [Additional options to pass to flex.])
-AC_CHECK_PROGS([FLEX], [flex], [flex])
+DX_PROG_FLEX([], [have_flex=yes], [have_flex=no])
+AM_CONDITIONAL([HAVE_FLEX], [test x"$have_flex" = x"yes"])
+
+DX_PROG_BISON([], [have_bison=yes], [have_bison=no])
+AM_CONDITIONAL([HAVE_BISON], [test x"$have_bison" = x"yes"])
 
 
-AC_ARG_VAR([BISON], [Command to invoke GNU Bison.  Defaults to bison.])
-AC_ARG_VAR([BISONFLAGS], [Additional options to pass to Bison.])
-AC_CHECK_PROGS([BISON], [bison], [bison])
+DX_BISON_COMPAT
 BISON_I18N
 
 BISON_I18N
 
+BISON_COMPAT=
+AS_IF([test x"$dx_cv_bison_api_header_include" = x"yes"],
+  [BISON_COMPAT="'--define=api.header.include={\"\$(*F).h\"}'"])
+AS_IF([test x"$dx_cv_bison_warn_no_deprecated" = x"yes"],
+  [AS_VAR_APPEND([BISON_COMPAT], ["${BISON_COMPAT:+ }-Wno-deprecated"])])
+AC_SUBST([BISON_COMPAT])
+
+AH_TOP([#include <conf_pre.h>])
+AH_BOTTOM([#include <conf_post.h>])
+
+AC_ARG_WITH([gsl],
+       [AS_HELP_STRING([--with-gsl],
+               [specify whether to build test programs requiring the GNU Scientific Library. [default=auto]]
+       )], [with_gsl=$withval], [with_gsl=auto])
+
+AS_CASE([$with_gsl],
+       [no], [have_gsl=no],
+       [yes], [DX_CHECK_GSL([1.0], [have_gsl=yes])],
+       [DX_CHECK_GSL([1.0], [have_gsl=yes], [have_gsl=no])])
+AM_CONDITIONAL([HAVE_GSL], [test x"$have_gsl" = x"yes"])
+
+AC_CONFIG_TESTDIR([.], [test:.])
+DX_PROG_AUTOTEST
+AM_CONDITIONAL([HAVE_AUTOTEST], [test x"$dx_cv_autotest_works" = x"yes"])
+
 AC_CONFIG_FILES([
 AC_CONFIG_FILES([
-       lib/Makefile
        Makefile
 ])
 AC_OUTPUT
        Makefile
 ])
 AC_OUTPUT