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 <stefano.lattar...@gmail.com> 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.