Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116662 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 17858 invoked from network); 16 Dec 2021 20:16:30 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Dec 2021 20:16:30 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id C19F418053C for ; Thu, 16 Dec 2021 13:19:02 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-yb1-f178.google.com (mail-yb1-f178.google.com [209.85.219.178]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 16 Dec 2021 13:19:02 -0800 (PST) Received: by mail-yb1-f178.google.com with SMTP id q74so647053ybq.11 for ; Thu, 16 Dec 2021 13:19:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datadoghq.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ZU46+GwpQwt1jo06AJ70xLjjDcwpDRoLQXdrOm3TxvA=; b=SR3yPpRB45m1jJsws/1GD7Pp1I3YCCUg7QjuLZJqAIw3tKpWLVR5Ki/nzboGzVKkPD Lc4Xk1Cl3NDB3O6b3I+tuN2owsqLIFzox19fr4YRpK8yL9XTYhJwUk0m4wU4ZwmGXxcP lbBQr8uiKVOhaenIgO3j6GNkJ/orNScaeM+6k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ZU46+GwpQwt1jo06AJ70xLjjDcwpDRoLQXdrOm3TxvA=; b=xUruglHQ0W01r+eOos2Y5khrED6jynbJx9crgJBNSomyW6X999wPDHsMCV12tQijw0 y7SQAVVCRlFT0w5snzpZYpcqnemLdyUQEgzpnaqDlnWbdQBO5Whe+/4/ZqE39scXOgEV T+A/ApqX0fJZEdqiuhqC54btc64iHGLL89DRje2bXOTunqWbWlj5Z95/tKMjSIT2La7y 31ISKAtfNaiQqeaZNJ828KrIbsZlc0YWbCMsMmyGV1SVf6qWLULrBq8N0olSqwECgDPe V32XroUT2YEjc7yxe6l4GTZzlzu70q2IhK1PGr4Vor5ahai+8axZ/o/TbIPdyKXC4TqZ XnCw== X-Gm-Message-State: AOAM530TcpB0ik2nmJwusaYjKeMAf0ADXbK4RpW/ESdKVkXnBbUbRuV4 ztarXB2Nx0Gg9mLdHjKNfuIBKUi+Gw+HoaJL6/h94w== X-Google-Smtp-Source: ABdhPJyIblygtaxg2Wsri2MAEqL+Ud2r4W8tVFxZIoU93Tg8T6In/psGE0+GFC+2vaLkX2GDJSXnUpxGyMLIu8l6dLU= X-Received: by 2002:a25:d16:: with SMTP id 22mr16616497ybn.51.1639689541590; Thu, 16 Dec 2021 13:19:01 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Reply-To: Levi Morrison Date: Thu, 16 Dec 2021 14:18:50 -0700 Message-ID: To: =?UTF-8?B?SG9ydsOhdGggVi4=?= Cc: Nikita Popov , PHP internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Surveying interest regarding CMake From: internals@lists.php.net ("Levi Morrison via internals") On Thu, Dec 16, 2021 at 1:13 PM Horv=C3=A1th V. = wrote: > > > My main question would be how this will affect 3rd party extensions, > > which are currently using autoconf. Will they need to migrate to > > cmake, or will we have to effectively maintain both build systems? > > Unless 3rd party extensions vendor php-src and/or do something extra > besides what they are instructed to do in the docs (phpize and all the > fun stuff), you can perfectly retain the external functionality for > existing consumers of php-src with the right amount of build system > engineering, which is what I'm offering here. > > You could choose this to be maintained for as long as necessary with a > clear migration guide documenting what needs to change, which shouldn't > be a lengthy document if we assume the happy path mentioned above. I am > always available to dispense help for 3rd parties regarding CMake if > necessary. I don't know anything about Conan. Porting the Zend Engine itself to use CMake is easy. Bundled extensions are harder, and 3rd party extensions harder still. I am happy to collaborate on trying this, as the system we use today is not well understood and I'm shocked it works as well as it does. The reason my previous attempt failed (maybe this was the 2014 attempt you refer to, I don't know), is that I didn't know cmake packages well enough to handle the extension requirements. I know more about this today, and with a collaborator to help sustain the momentum on the project, I feel more confident we could succeed. As for Nikita's question of "Will they need to migrate to cmake, or will we have to effectively maintain both build systems?" I think the answer should be that _eventually_ they should have to migrate, but in the interim we must maintain two build systems. This is not a great situation, but I don't see a better way to do this in an open-ended ecosystem like PHP's. Again, I am happy to collaborate. Modern CMake is much better than the phpize system used today.