Subject: bug#7648: Automake yacc support, GNU bison, and non-standard generated headers (was: Re: bug#7648: ylwrap appears not to support bison's lalr1.cc skeleton)

From: Iain Nicol <[email-masked]>
Date: Thu, 28 Jul 2011 19:08:36 +0100

Hi Stefano,

On 2011-05-12, Stefano Lattarini wrote:
> I decided that, after all, the best thing to do was to rewrite the
> messy ylwrap script; after some work, I've now reached a point where I
> think we could safely add, without too much hassle, a new feature,
> that will allow the developer to specify a list of extra headers
> generated by a yacc call.

> I'm not yet sure about the syntax to use for this new feature, though;
> I was thinking about sometinh on the lines of:

>  bin_PROGRAMS = zardoz
>  zardoz_SOURCES = zardoz.yy
>  zardoz_YFLAGS = -d --skeleton lalr1.cc
>  EXTRA_zardoz_YACC_HEADERS = stack.hh location.hh position.hh

> but I'd like to hear more ideas and opinions on this matter before
> proceeding.

Well, I'll give commenting a shot: that sounds pretty sensible to me.
But I must point out that I speak with limited Automake experience...

One thing which did strike me: EXTRA_ might not be the best prefix for
YACC_HEADERS.  If you do a ``make dist'' on a C Bison project then of
course zardoz.h is included in the dist tarball, which AFAICT is GNU
Coding Standards encouraged behaviour---presumably because installing
Bison used to be more difficult that it is these days.  It would be
consistent for the YACC_HEADERS to also end up also in the dist.

Then again, thinking about this some more, I'm probably worrying about
nothing, aren't I?  Based upon the patch attached to this bug, I gather
you can do wildcard matching.

Regards,
Iain