-dnl Copyright © 2011-2013, 2020-2021 Nick Bowler
+dnl Copyright © 2011-2013, 2020-2023 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])
-AC_INIT([cdecl99], [1], [nbowler@draconx.ca])
+AC_INIT([cdecl99], [1.2a], [nbowler@draconx.ca])
AC_CONFIG_HEADERS([config.h])
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
LT_INIT
gl_INIT
+AC_C_FLEXIBLE_ARRAY_MEMBER
+
+# Work around quoting bug in Gnulib threadlib.m4 which prevents
+# correct detection on e.g., Solaris 8. These platforms require
+# PTHREAD_IN_USE_DETECTION_HARD to be set otherwise cdecl99 will
+# crash when reporting an error as initialization is not done.
+#
+# If this gets fixed in Gnulib, we can remove this.
+AS_CASE([$host_os],
+ [[solaris2.[1-9] | solaris2.[1-9].*]],
+ [AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD])])
+
+# As the mbrtowc replacement module is not used by the library, there is
+# no need for multithreaded mbrtowc (all programs are single threaded).
+AC_DEFINE([GNULIB_MBRTOWC_SINGLE_THREAD], [1], [Define to 1.])
+
+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
])
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__])
+DX_GLSYM_PREFIX([cdecl__gl_])
+DX_GNULIB_SYMFILES([lib/symfiles], [s])
+AM_CONDITIONAL([BUILD_STATIC], [test x"$enable_static" = x"yes"])
dnl We provide our own makefile rules for gettext. Disable tracing of
dnl AM_GNU_GETTEXT to prevent autoreconf from running autopoint, and to
AM_GNU_GETTEXT([external])
DX_LINGUAS
+AM_CONDITIONAL([USE_NLS], [test x"$USE_NLS" = x"yes"])
+
DX_PROG_FLEX([], [have_flex=yes], [have_flex=no])
AM_CONDITIONAL([HAVE_FLEX], [test x"$have_flex" = x"yes"])
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:.])
+AC_CONFIG_TESTDIR([.], [t:.])
DX_PROG_AUTOTEST
AM_CONDITIONAL([HAVE_AUTOTEST], [test x"$dx_cv_autotest_works" = x"yes"])
+AC_CHECK_FUNCS_ONCE([strtoumax strtoull __strtoull])
AC_CONFIG_FILES([
Makefile