On Wed, 8 Dec 2021 at 15:25, David Zuelke via internals
<internals@lists.php.net> wrote:
>
> That doesn't work with PHP 8.1 anymore - the Makefile generated by
> phpize now contains an include directive at the top level (near the
> bottom), e.g.:
>
> -include src/php_raphf_api.dep

The file src/php_raphf_api.dep is created when the source code is
compiled. It creates a list of which files were used in the
compilation of a C file. In this case src/php_raphf_api.c

The '-include' directive apparently allows for a file to be listed,
but not error when it doesn't exist, apparently:
https://www.gnu.org/software/make/manual/html_node/Features.html so on
a fresh cleaned build, it shouldn't make any difference.

> Which lists not only the extension's headers, but also all of PHP's
> (in include/main, include/Zend, and so forth):

Yes. Those are the files that need to be present to compile that
source code file. It's used to check to see if a C file should be
recompiled, as one of it's dependencies has changed. The dep file is
also deleted when doing make clean.

It doesn't appear to me that the change to the phpize and the dep file
is affecting other people....I think the problem you're seeing is
something unique to your build process. In particular:

1. Are you doing a make clean, or is there a chance of left over files
from a previous build?

2. Why are you (as far as I understand) deleting the PHP files in `5)
rm -rf $installdir`, before compiling the extension? The command `make
install` does a check on whether anything needs recompiling.....and I
believe it's failing because the files it's trying to check no longer
exist.

>  Is this intentional? If so, could someone explain the purpose of the change?

Probably to make the build process less flaky, by explicitly checking
dependencies, so that there are fewer instances of "stuffs not
working.....I guess I'll do a make clean and see if that helps".

cheers
Dan
Ack

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

Reply via email to