On Sun, Apr 14, 2019 at 12:07 PM Peter Kokot <peterko...@gmail.com> wrote:
> Hello, > > people familiar with the PHP *nix build system today can be probably > counted on the fingers of two hands, so I'm hoping to get some answer > also here. > > Does anyone maybe still have any insights on which Make version does > PHP require or silently specify as a minimum? GNU make? POSIX make? > Maybe some GNU make minimum version? 3.81? etc... > > Currently, there are two steps where different make can be used: > > 1.) ./buildconf > (here GNU make is required because of using the conditional macro > assignment operator ?= in build/build2.mk file) > > 2.) make step after ./configure > (here POSIX make can go through more or less ok). > > This is seen, for example, on the Solaris systems where doing this: > > ./buildconf > > causes: > > make: Fatal error in reader: build/build.mk, line 22: Badly formed > macro assignment > > so, this needs to be done: > > MAKE=gmake ./buildconf > > however, this works then ok: > > ./configure > make > > Is this confirmed and ok with everyone that GNU make is the minimum > required derivative for PHP to be used? Or should software such as PHP > be an example and use POSIX compatible make? > > Reason for asking this: https://github.com/php/php-src/pull/4025 and > similar improvements... > Relying upon a single build feature set simplifies development, and GNU make is ubiquitous. I am in favor of standardizing on GNU make. The fact that few people know the autotools mechanism we're using, and that GNU make probably isn't the most performant build system for us [1], suggests an interesting project: integrating an alternative build systems. Like X.org attempted [2] with Meson [3]. It might not yield any fruit, but that'd validate the system we're using. bishop [1]: http://www.conifersystems.com/whitepapers/gnu-make/ [2]: https://www.phoronix.com/scan.php?page=news_item&px=Xorg-Server-Meson-Fitting [3]: https://mesonbuild.com/