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/

Reply via email to