summaryrefslogtreecommitdiff
path: root/libmailutils
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2021-11-01 09:23:49 +0200
committerSergey Poznyakoff <gray@gnu.org>2021-11-01 09:36:01 +0200
commit9792d313e43e735ac69d7be31c55ef9a033d83c6 (patch)
treed672ecfb9ddbb0740356ca26989dd8030362351b /libmailutils
parent305b124c78459fe1d89a6ed4ebf30a955d530a4c (diff)
downloadmailutils-9792d313e43e735ac69d7be31c55ef9a033d83c6.tar.gz
mailutils-9792d313e43e735ac69d7be31c55ef9a033d83c6.tar.bz2
Require GNU bison and flex
* am/bison.m4: Use AC_PATH_PROG. * am/flex.m4: Likewise. * configure.ac: Remove MU_YLWRAP. * include/mailutils/yyloc.h (YYLTYPE): Remove. This needs be defined in each grammar source individually. * mu-aux/Makefile.am: Remove gylwrap. * mu-aux/gylwrap: Remove. * libmailutils/cfg/Makefile.am: Rewrite rules for building grammars and lexers. * libmailutils/datetime/Makefile.am: Likewise. * libmu_sieve/Makefile.am: Likewise. * mail/Makefile.am: Likewise. * mh/Makefile.am: Likewise. * mimeview/Makefile.am: Likewise. * libmailutils/cfg/gylwrap.conf: Remove. * libmailutils/datetime/gylwrap.conf: Remove. * libmu_sieve/gylwrap.conf: Remove. * mh/gylwrap.conf: Remove. * mimeview/gylwrap.conf: Remove. * libmailutils/cfg/lexer.l: Use %option prefix * libmu_sieve/sieve-lex.l: Likewise. * mh/mh_alias_lex.l: Likewise. * mimeview/lexer.l: Likewise. * libmailutils/cfg/parser.y: Use api.prefix and %code requires. * libmailutils/datetime/parsedate.y: Likewise. * mh/mh_alias_gram.y: Likewise. * mh/mh_fmtgram.y: Likewise. * mh/pick-gram.y: Likewise. * libmu_sieve/sieve-gram.y: Likewise. * mimeview/grammar.y: Likewise. * testsuite/lib/mailutils.exp (mu_create_config): Fix source location.
Diffstat (limited to 'libmailutils')
-rw-r--r--libmailutils/cfg/Makefile.am16
-rw-r--r--libmailutils/cfg/gylwrap.conf4
-rw-r--r--libmailutils/cfg/lexer.l1
-rw-r--r--libmailutils/cfg/parser.y6
-rw-r--r--libmailutils/datetime/Makefile.am12
-rw-r--r--libmailutils/datetime/gylwrap.conf3
-rw-r--r--libmailutils/datetime/parsedate.y2
-rw-r--r--libmailutils/stream/file_stream.c1
8 files changed, 30 insertions, 15 deletions
diff --git a/libmailutils/cfg/Makefile.am b/libmailutils/cfg/Makefile.am
index a5fb85642..7f99ca6fd 100644
--- a/libmailutils/cfg/Makefile.am
+++ b/libmailutils/cfg/Makefile.am
@@ -20,8 +20,8 @@ noinst_LTLIBRARIES = libcfg.la
libcfg_la_SOURCES = \
driver.c\
format.c\
- lexer.l\
- parser.y
+ lexer.c\
+ parser.c
localedir = $(datadir)/locale
AM_CPPFLAGS = \
@@ -32,12 +32,18 @@ AM_CPPFLAGS = \
EXTRA_DIST = \
lexer.l\
parser.y\
- parser.h\
- gylwrap.conf
+ parser.h
BUILT_SOURCES = parser.c parser.h lexer.c
-YLWRAP = $(MU_YLWRAP)
+parser.c parser.h: parser.y
+lexer.c: lexer.l
+
AM_YFLAGS=-vdt
AM_LFLAGS=-dp
+.l.c:
+ $(FLEX) -o $@ $(AM_LFLAGS) $<
+.y.c:
+ $(BISON) -o $@ $(AM_YFLAGS) $<
+
diff --git a/libmailutils/cfg/gylwrap.conf b/libmailutils/cfg/gylwrap.conf
deleted file mode 100644
index 4a93e6f83..000000000
--- a/libmailutils/cfg/gylwrap.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-# Configuration settings for gylwrap.
-# See ../../mu-aux/gylwrap --help, for details.
-
-yyrepl = mu_cfg_yy
diff --git a/libmailutils/cfg/lexer.l b/libmailutils/cfg/lexer.l
index 600a4f0ae..c97b49b21 100644
--- a/libmailutils/cfg/lexer.l
+++ b/libmailutils/cfg/lexer.l
@@ -81,6 +81,7 @@ static struct mu_locus_point string_beg;
while (0);
%}
+%option prefix="mu_cfg_yy"
%option nounput
%option noinput
diff --git a/libmailutils/cfg/parser.y b/libmailutils/cfg/parser.y
index 29b7c11f0..4f38a0f1b 100644
--- a/libmailutils/cfg/parser.y
+++ b/libmailutils/cfg/parser.y
@@ -169,6 +169,12 @@ mu_cfg_create_node_list (mu_list_t *plist)
%}
+%define api.prefix {mu_cfg_yy}
+%code requires {
+#define MU_CFG_YYLTYPE struct mu_locus_range
+#define yylloc mu_cfg_yylloc
+#define yylval mu_cfg_yylval
+}
%locations
%expect 1
diff --git a/libmailutils/datetime/Makefile.am b/libmailutils/datetime/Makefile.am
index d670c885b..fe8f0afd7 100644
--- a/libmailutils/datetime/Makefile.am
+++ b/libmailutils/datetime/Makefile.am
@@ -21,7 +21,7 @@ libdatetime_la_SOURCES = \
dow.c\
doy.c\
jd.c\
- parsedate.y\
+ parsedate.c\
scantime.c\
streamftime.c\
strftime.c\
@@ -32,6 +32,12 @@ libdatetime_la_SOURCES = \
utcoff.c\
yd.c
+BUILT_SOURCES = parsedate.c
+EXTRA_DIST = parsedate.y
+
+parsedate.c: parsedate.y
+.y.c:
+ $(BISON) -o $@ $(AM_YFLAGS) $<
+
AM_CPPFLAGS = $(MU_LIB_COMMON_INCLUDES) -I/libmailutils
-YLWRAP = $(MU_YLWRAP)
-EXTRA_DIST = gylwrap.conf
+
diff --git a/libmailutils/datetime/gylwrap.conf b/libmailutils/datetime/gylwrap.conf
deleted file mode 100644
index 33b8c123f..000000000
--- a/libmailutils/datetime/gylwrap.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# Configuration settings for gylwrap.
-# See ../../mu-aux/gylwrap --help, for details.
-yyrepl = pd_yy
diff --git a/libmailutils/datetime/parsedate.y b/libmailutils/datetime/parsedate.y
index d69c6d730..729e8ea30 100644
--- a/libmailutils/datetime/parsedate.y
+++ b/libmailutils/datetime/parsedate.y
@@ -213,6 +213,8 @@ static const char *yyinput;
%type <date> item time zone date day rel relspec relunit
%type <datespec> spec
+%define api.prefix {pd_yy}
+
%%
input : spec
diff --git a/libmailutils/stream/file_stream.c b/libmailutils/stream/file_stream.c
index 781fae98c..1e5b97ff1 100644
--- a/libmailutils/stream/file_stream.c
+++ b/libmailutils/stream/file_stream.c
@@ -23,6 +23,7 @@
#include <fcntl.h>
#include <sys/stat.h>
#include <poll.h>
+#include <limits.h>
#if HAVE_TERMIOS_H
# include <termios.h>

Return to:

Send suggestions and report system problems to the System administrator.