Require GNU make to build binutils-gdb

Simon Marchi
2016-11-17T19:11:25Z

Hi binutils-gdb folks,

In gdb/, we are now making use of GNU make-specific features (in
particular, pattern rules), so we now require building with GNU make.
We based our decision on the fact that, for every platform on which we
are aware people build GDB on, GNU make is easily available. In fact,
according to the echoes we got, people already use gmake to build gdb
everywhere.

Pedro determined that GNU make 3.81 was practically universally
available:

https://sourceware.org/ml/gdb-patches/2016-11/msg00475.html

Additionally, CentOS 6 (so probably RHEL6 as well) and Ubuntu 14.04 have
3.81 in their repos. Just those two probably represent a significant
user base. So, unless we have a really good reason to require something
more recent, I think it makes sense to require GNU make >= 3.81.

For simplicity and consistency, we were wondering if we should adopt the
same policy for the whole binutils-gdb tree. While not necessary, it
opens up the door to using GNU make-specific constructs in other
Makefiles in the tree, possibly improving readability and
maintainability. This change in GDB gives a good idea:

http://tinyurl.com/hb8ozrz

There was a discussion in 2014 that spun off another thread. Nobody
seemed against the idea, but there was no follow-up AFAICT:

https://sourceware.org/ml/binutils/2014-05/msg00263.html

In the eventuality this proposition is accepted, should we have a check
in the top-level Makefile that warns the user early if their version of
make is not supported?

Simon