]> git.draconx.ca Git - cdecl99.git/blobdiff - configure.ac
Migrate gnulib patches to new common helper macro.
[cdecl99.git] / configure.ac
index 91a3e9809b423e38f4e3b1e2ddf1a41136010cbd..0b23f6b5695b12315253f2abbc91157a2fd03059 100644 (file)
@@ -4,6 +4,8 @@ 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,20 +27,13 @@ AC_PROG_CC_C99
 AM_PROG_CC_C_O
 gl_EARLY
 
-LT_INIT
-gl_INIT
-
+AC_HEADER_ASSERT
 AC_C_FLEXIBLE_ARRAY_MEMBER
+AC_C_INLINE
+DX_C_FOR_DECLARATIONS
 
-# 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).
@@ -97,6 +92,26 @@ 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],
+  [dx_cv_bison_api_token_raw], [dx_cv_bison_api_token_raw=no
+cat >conftest.y <<'EOF'
+%token T_TEST
+%{
+int yylex(void) { return 0; }
+void yyerror(const char *msg) { }
+%}
+%%
+input:
+EOF
+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"])])
+
 AH_TOP([#include <conf_pre.h>])
 AH_BOTTOM([#include <conf_post.h>])