Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:105292 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 61370 invoked from network); 16 Apr 2019 18:41:14 -0000 Received: from unknown (HELO mail-vs1-f48.google.com) (209.85.217.48) by pb1.pair.com with SMTP; 16 Apr 2019 18:41:14 -0000 Received: by mail-vs1-f48.google.com with SMTP id n4so11817626vsm.3 for ; Tue, 16 Apr 2019 08:39:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=t81DTwjgeuw2gkD7U4wGLik+jGv2YcJm894BdGYMJHM=; b=MGXOcke0tAuQvN1l0n45Fw3aFwjadhwvLDVrYx9ARChOndmLk5vkwEubO03McfxKmI PRoh9K2BdbHaEPPTQOjUsHST6abChH4tv+U+N58KYQzTbYEQCAya+akzxocrd/Vk5rbf ZubnA2f27ZrXY4WSPfiNVcSGDwW5yrkp9jhs9Oz33f0lrRbN7uDiDS0SBcW1aZROs3Mf GHh65RCHjWD9TXsIBI4b8q8QzgLuUqg94wkja45zrhDwmS/zh5SlPF2Q8H5kKompGMs6 gpqkIw/ZCbsdXwkS+CZtZCCHUzs5b0tNUrxIAslpfCOMZpulmHon+HO6rtqLDcUmDTz5 WX3A== X-Gm-Message-State: APjAAAWqdGUy4CXMfaiLVOCVzY4dVs5utxPPYdCKFoISMZa9dqp5cgAY ycSwbzNLYC5FuI84tN2M76nEhnXAAX7zWAe+es0= X-Google-Smtp-Source: APXvYqxcno2cz0sINUgssDhUDQjU3Im5KTdCt7xxL8iVYapqZEUcvwgiSWZqpnRoefgZUAWEYOxGODiXaNbpO2PN/lQ= X-Received: by 2002:a67:f04e:: with SMTP id q14mr45654770vsm.133.1555429194035; Tue, 16 Apr 2019 08:39:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Reply-To: bishop@php.net Date: Tue, 16 Apr 2019 11:39:28 -0400 Message-ID: To: Peter Kokot Cc: Internals Content-Type: multipart/alternative; boundary="0000000000009578720586a794a7" Subject: Re: [PHP-DEV] Required Make version From: bishop@php.net (Bishop Bettini) --0000000000009578720586a794a7 Content-Type: text/plain; charset="UTF-8" On Sun, Apr 14, 2019 at 12:07 PM Peter Kokot 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/ --0000000000009578720586a794a7--