X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/ad172f6d46ad5b36fdc9cc34a2450c93f48b0f99..b1900b8ec11a1e8ff8705330ed9da66e4bd98ee1:/configure.ac diff --git a/configure.ac b/configure.ac index b963324..3cd249f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,11 @@ -dnl Copyright © 2011-2013, 2020-2023 Nick Bowler +dnl Copyright © 2011-2013, 2020-2024 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. +DX_PATCH_GNULIB + AC_PREREQ([2.68]) AC_INIT([cdecl99], [1.2a], [nbowler@draconx.ca]) AC_CONFIG_HEADERS([config.h]) @@ -25,26 +27,27 @@ AC_PROG_CC_C99 AM_PROG_CC_C_O gl_EARLY -LT_INIT -gl_INIT - AC_HEADER_ASSERT +AC_TYPE_UNSIGNED_LONG_LONG_INT +AC_CHECK_TYPES([unsigned __int64], [], [], + [unsigned __int64 foo = -1; /* avoid false positive result on VAX C */]) AC_C_FLEXIBLE_ARRAY_MEMBER +AC_C_INLINE +DX_C_FOR_DECLARATIONS +DX_C_ALIGNAS +AM_PROG_AR -# 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])]) +LT_INIT +gl_INIT # 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 the wcwidth replacement module is not used by the library, there is +# no need to support varying locales (programs set locale once at startup). +AC_DEFINE([GNULIB_WCHAR_SINGLE_LOCALE], [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])], @@ -73,13 +76,6 @@ 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 -dnl prevent automake from growing gratuitous error conditions. -m4_traceoff([AM_GNU_GETTEXT]) -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]) @@ -98,9 +94,8 @@ 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]) -AS_IF([test x"$dx_cv_bison_define_cmdline" != x"yes"], - [dx_cv_bison_api_token_raw=no]) -AC_CACHE_CHECK([whether $BISON supports api.token.raw], +AS_CASE([$dx_cv_bison_define_cmdline], [yes], +[AC_CACHE_CHECK([whether $BISON supports api.token.raw], [dx_cv_bison_api_token_raw], [dx_cv_bison_api_token_raw=no cat >conftest.y <<'EOF' %token T_TEST @@ -115,18 +110,25 @@ AS_IF([$BISON --define api.token.raw conftest.y >&AS_MESSAGE_LOG_FD 2>&1], [AC_COMPUTE_INT([testval], [T_TEST], [#include "conftest.tab.c" ]) AS_IF([test "$testval" -lt 256], [dx_cv_bison_api_token_raw=yes])])]) -AS_IF([test x"$dx_cv_bison_api_token_raw" = x"yes"], - [AS_VAR_APPEND([BISON_COMPAT], [" --define api.token.raw"])]) +AS_CASE([$dx_cv_bison_api_token_raw], [yes], + [AS_VAR_APPEND([BISON_COMPAT], [" --define api.token.raw"])])]) AH_TOP([#include ]) AH_BOTTOM([#include ]) 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 -]) +DX_PROG_AUTOTEST_AM + +AC_CACHE_CHECK([for getline], [dx_cv_have_getline], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include +], [ssize_t (*x)() = getline; +char *p = 0; +size_t n = 0; +return getline(&p, &n, stdin); +])], [dx_cv_have_getline=yes], [dx_cv_have_getline=no])]) +AS_CASE([$dx_cv_have_getline], [yes], + [AC_DEFINE([HAVE_GETLINE], [1], + [Define to 1 if the getline function is available.])]) + +AC_CONFIG_FILES([Makefile]) AC_OUTPUT