X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/f78c5d06a8775b33890071166d56be82d9233c8b..7df5e2a15f784ab786f56ca25d739c8b546ccde8:/configure.ac diff --git a/configure.ac b/configure.ac index a0bf6b1..f1bd702 100644 --- a/configure.ac +++ b/configure.ac @@ -1,17 +1,26 @@ -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], [0.1], [nbowler@draconx.ca]) -AC_CONFIG_HEADER([config.h]) +AC_INIT([cdecl99], [1.2a], [nbowler@draconx.ca]) +AC_CONFIG_HEADERS([config.h]) -AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign subdir-objects]) +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,27 @@ gl_EARLY LT_INIT gl_INIT +AC_HEADER_ASSERT +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 @@ -35,11 +65,13 @@ 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__]) +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 @@ -48,8 +80,14 @@ m4_traceoff([AM_GNU_GETTEXT]) AM_GNU_GETTEXT([external]) DX_LINGUAS -DX_PROG_FLEX([], [], [FLEX=false]) -DX_PROG_BISON([], [], [BISON=false]) +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"]) + +DX_PROG_BISON([], [have_bison=yes], [have_bison=no]) +AM_CONDITIONAL([HAVE_BISON], [test x"$have_bison" = x"yes"]) + DX_BISON_COMPAT BISON_I18N @@ -63,20 +101,10 @@ AC_SUBST([BISON_COMPAT]) AH_TOP([#include ]) AH_BOTTOM([#include ]) -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