I personally will switch for the next project I write that wants a Bison-based parser, as I move new projects to C++. I will also do what I've been doing for years with my other projects: Ship the generated code with the source. I have a dedicated "make regen" target to regenerate all generated files.
The strategy has worked pretty well so far, allowing others to port my Intellivision emulator and tool chain to everything under the sun, without having to worry about flex/bison versions. That includes (at various times) Linux, MacOS X, Windows, FreeBSD, Solaris, Nintendo Wii, PSP, Nokia N900, and Android.
What really pushed me over the edge was when I started running into weird issues between (I think) 1.8x and 2.x versions. Once I forked off the dedicated regen targets, life got much simpler building across the 4 or 5 machines I built releases on as their flex/bison versions drifted apart from each other, as long as my primary dev machine had the latest and greatest. And I no longer got the random support email from the random porter.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds