automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: automake 1.12.1 changes extension of bison-generated header files


From: Matt Turner
Subject: Re: automake 1.12.1 changes extension of bison-generated header files
Date: Fri, 14 Sep 2012 18:06:33 -0700

I started thinking about this again recently, so I thought I'd respond.

So, first thanks for the email and the suggestion.

On Sat, Jul 14, 2012 at 1:42 AM, Stefano Lattarini
<address@hidden> wrote:
> On 07/13/2012 07:16 PM, Matt Turner wrote:
>> Hi,
>>
>> In Mesa (http://www.mesa3d.org/) we generate some C++ code using
>> Bison. The input is glsl_parser.yy and automake-1.11 and prior
>> versions generated glsl_parser.h. 1.12 generates glsl_parser.hh, and
>> if the input file is named .ypp it generates a .hpp file. How can we
>> configure our build system such that it will work with 1.11 and 1.12?
>>
>> http://cgit.freedesktop.org/mesa/mesa/tree/configure.ac
>> http://cgit.freedesktop.org/mesa/mesa/tree/src/glsl/Makefile.am
>>
> My suggestion would be to simply require Automake 1.12 from every
> developer, and avoid such compatibilities headaches (1.12 still
> requires just Autoconf 2.62 and perl 5.6, so that your developers
> won't be forced to upgrade other tools in addition to Automake
> itself).
>
> If you really *must* support both Automake 1.11 and 1.12: take a
> look at the attached tarball; it should (hopefully) provide you
> with enough inspiration to do so.
>
> HTH,
>   Stefano

The NEWS item says "Slightly backward-incompatible change" but let's
be clear: the change *broke* backward compatibility. It is impossible
to have a C++ yacc parser built with automake 1.11 and 1.12. RHEL6
ships with <automake-1.12. They're not going to update to 1.12. We
can't require 1.12 in Mesa.

Seriously, this was a bad change. We've got a kind of hacky (and I
fear half broken) rule to generate files compatible with the 1.11
naming now. 
http://cgit.freedesktop.org/mesa/mesa/commit/src/glsl/Makefile.am?id=81de0431d6f52084e01874163657e141e6beffdf

I can't imagine that's the kind of stuff you want projects to be doing
downstream.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]