Hi! >From NEWS in the master branch:
- Support for the long-obsolete $(INCLUDES) variable has been finally removed, in favour of the modern equivalent $(AM_CPPFLAGS). Why is this removal important? It forces changes to a hundred (or so) Makefiles in *one* project I'm involved with. The fact that AM_CPPFLAGS is AC_SUBSTed by the project and used mostly for "global" flags and INCLUDES mostly for "local" stuff makes for a pretty useful separation. But in quite a few of those Makefiles, AM_CPPFLAGS (as AC_SUBSTed by configure) is augmented via "AM_CPPFLAGS +=" constructs. I'm not at all confident that I will be able to convert all of these uses without errors due to switched include ordering or omissions or whatever. Further, I do not have access to all relevant systems, so I'm not in a position to check for errors. If it was 5-10 Makefiles, I would trust myself to do it correctly, but on this scale, doing the conversion without error would just be pure luck. Why have I not done the conversion a lot earlier, when INCLUDES have been deprecated since forever? Sure, there has been a warning in the docs, since about forever, but since the support wasn't removed yesterday, why would it be removed today? I have not seen any warning in my project, until yesterday when I forced a bootstrap with automake 1.12.5. You see, there is some code that ensures that a project keeps bootstrapping with the same version if it is rebootstrapped (at least on my distribution), so even if I have had 1.12 installed for a few months, it hasn't actually been used for this project, and I haven't noticed/cared. Buttom line is, even if stuff has been deprecated for ages, people like me might not have noticed, even if they have been using /bin/automake (which is a wrapper over here) on a weekly basis. Even if I had noticed, changing a bunch of constructs with INCLUDES into only using AM_CPPFLAGS isn't the most rewarding or interesting thing to do, so I would probably not have done it anyway. I would only risk stupid regressions. When I force automake 1.12, everything keeps working, at least as far as I can tell. But if support for INCLUDES is removed, it will break, needless to say. Also, this quote from commit message removing INCLUDES support: "So, by removing it in Automake 1.14, we will simplify the transition path for people that want to switch to Automake-NG." is just brain-damage and completely ass-backwards, if you ask me. Damnit, if there is a goal to make it easy to switch, that should be the sole responsibility of Automake-NG. Especially for trivial stuff like this. Period. There is also a claim in some commit message, that the *code* has warned about INCLUDES being obsolete since 2002 (which would be automake 1.7, I suppose), but then I ask why Automake 1.9.x and 1.11.x isn't warning me about it? Oh right, because -Wobsolete wasn't the default back then, but I guess that's not important. (Did you catch the sarcastic tone?) Anyway, claiming that the code has warned about it for more than a decade is a *huge* misrepresentation. A saner statement is that Automake 1.11.6 as of *2012* did not warn about INCLUDES. Stop this insanely aggressive feature removal crap. Cheers, Peter