If we change anything about our build system, I think it ought to be
switching to CMake instead. This supports multiple backends, including
generating project files for IDEs, and is designed to be portable,
instead of targeting only GNU systems. This means we can use a single
build system instead of one for Windows and one for everyone else. At
one point, there was a Google Summer of Code project that began this
work, but it never got merged and I couldn't find any discussion about
why.

I'd be happy to work help with the CMake port, as I know it a decent
bit, but I don't have enough time to champion the whole thing.

On Tue, Apr 16, 2019 at 9:40 AM Bishop Bettini <bis...@php.net> wrote:
>
> 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/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to