1 dnl Copyright © 2011-2013, 2020-2023 Nick Bowler
3 dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
4 dnl This is free software: you are free to do what the fuck you want to.
5 dnl There is NO WARRANTY, to the extent permitted by law.
10 AC_INIT([cdecl99], [1.2a], [nbowler@draconx.ca])
11 AC_CONFIG_HEADERS([config.h])
13 AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign subdir-objects dist-xz])
14 AM_SILENT_RULES([yes])
17 AC_ARG_WITH([readline],
18 [AS_HELP_STRING([--with-readline],
19 [use GNU readline for line-editing functionality (default: auto)])],
20 [], [with_readline=auto])
21 AS_CASE([$with_readline],
22 [no], [gl_cv_lib_readline=no],
24 [*], [AC_MSG_ERROR([invalid option --with-readline=$with_readline])])
31 AC_C_FLEXIBLE_ARRAY_MEMBER
38 # As the mbrtowc replacement module is not used by the library, there is
39 # no need for multithreaded mbrtowc (all programs are single threaded).
40 AC_DEFINE([GNULIB_MBRTOWC_SINGLE_THREAD], [1], [Define to 1.])
42 AS_IF([test x"$gl_cv_lib_readline" = x"no"],
43 [AS_IF([test x"$with_readline" = x"yes"],
44 [AC_MSG_FAILURE([--with-readline requested but readline was not found])],
45 [dx_cv_rl_add_history=no])])
46 AC_CACHE_CHECK([if readline supports add_history], [dx_cv_rl_add_history], [dnl
47 dx_cv_rl_add_history=no
49 LIBS="$LIBS $LIBREADLINE"
50 AC_LINK_IFELSE([AC_LANG_PROGRAM([dnl
52 #if HAVE_READLINE_HISTORY_H
53 # include <readline/history.h>
57 ])], [dx_cv_rl_add_history=yes], [dx_cv_rl_add_history=no])
61 AS_IF([test x"$dx_cv_rl_add_history" = x"yes"],
62 [AC_DEFINE([HAVE_RL_ADD_HISTORY], [1],
63 [Define to 1 if readline supports add_history.])])
65 m4_include([lib/gnulib.mk])
66 DX_GLSYM_PREFIX([cdecl__gl_])
67 DX_GNULIB_SYMFILES([lib/symfiles], [s])
68 AM_CONDITIONAL([BUILD_STATIC], [test x"$enable_static" = x"yes"])
70 AM_CONDITIONAL([USE_NLS], [test x"$USE_NLS" = x"yes"])
72 DX_PROG_FLEX([], [have_flex=yes], [have_flex=no])
73 AM_CONDITIONAL([HAVE_FLEX], [test x"$have_flex" = x"yes"])
75 DX_PROG_BISON([], [have_bison=yes], [have_bison=no])
76 AM_CONDITIONAL([HAVE_BISON], [test x"$have_bison" = x"yes"])
82 AS_IF([test x"$dx_cv_bison_api_header_include" = x"yes"],
83 [BISON_COMPAT="'--define=api.header.include={\"\$(*F).h\"}'"])
84 AS_IF([test x"$dx_cv_bison_warn_no_deprecated" = x"yes"],
85 [AS_VAR_APPEND([BISON_COMPAT], ["${BISON_COMPAT:+ }-Wno-deprecated"])])
86 AC_SUBST([BISON_COMPAT])
88 AS_CASE([$dx_cv_bison_define_cmdline], [yes],
89 [AC_CACHE_CHECK([whether $BISON supports api.token.raw],
90 [dx_cv_bison_api_token_raw], [dx_cv_bison_api_token_raw=no
91 cat >conftest.y <<'EOF'
94 int yylex(void) { return 0; }
95 void yyerror(const char *msg) { }
100 AS_IF([$BISON --define api.token.raw conftest.y >&AS_MESSAGE_LOG_FD 2>&1],
101 [AC_COMPUTE_INT([testval], [T_TEST], [#include "conftest.tab.c"
103 AS_IF([test "$testval" -lt 256], [dx_cv_bison_api_token_raw=yes])])])
104 AS_CASE([$dx_cv_bison_api_token_raw], [yes],
105 [AS_VAR_APPEND([BISON_COMPAT], [" --define api.token.raw"])])])
107 AH_TOP([#include <conf_pre.h>])
108 AH_BOTTOM([#include <conf_post.h>])
110 AC_CONFIG_TESTDIR([.], [t:.])
113 AC_CONFIG_FILES([Makefile])