fix imap c-client headers leaking into configure - #1237
Conversation
c-client's private unix.h leaked into PHP configure checks, causing installed development headers to require an unshipped file. Keep c-client headers in the path already supported by ext-imap. Co-Authored-By: Codex GPT-5 <noreply@openai.com>
henderkes
left a comment
There was a problem hiding this comment.
Doesn't the extension need to be pointed at that dir then?
Good question. The extension does need to include that directory, but no StaticPHP already passes: The upstream pecl-mail-imap https://github.com/php/pecl-mail-imap/blob/1.0.3/config.m4#L126-L139 I also verified that the generated PHP Makefile contains: and the resulting PHP binary builds and loads the imap extension |
|
StaticPHP Test Bot Detected: Extensions: none | Libraries: |
What does this PR do?
c-client currently installs its private headers, including
unix.h, into the global include directory. PHP's configure check then detects that private header and definesHAVE_UNIX_H, causing installed PHP development headers to include a file that is not shipped with the PHP SDK package. As a result, downstream extensions fail to compile when they includephp.h.This keeps c-client headers under
include/c-client, the layout already expected by ext-imap, so they are no longer visible to unrelated PHP configure checks.Verification
asgrim/example-pie-extensionthrough PIE, includingphpize, configure, build, and installds-1.8.0through PECLChecklist before merging
*.phpor*.yml, run them locally to ensure your changes are valid:composer cs-fixcomposer analysecomposer testbin/spc dev:lint-config