Repository navigation
php: build the four extensions phoronix-test-suite requires - #733
Merged
Merged
Conversation
libxml, dom, simplexml and zlib -- 44 objects against `lib/xml2'
(2.15.2) and `lib/z', both already in the tree. All 559 translation
units compile under the host kencc mirror and `--undefined' resolves
every symbol the program wants from outside php.
The list is derived from `pts-core.php:208's own
`pts_needed_extensions()' rather than from its error message: it
requires JSON (already built), DOM, SimpleXML, and
`extension_loaded('zip') || extension_loaded('zlib')' -- so ext/zlib
satisfies the "MISSING ZIP" line and libzip is not needed.
libxml goes first in both the OFILES list and
`internal_functions_cli.c', because it is the glue both dom and
simplexml declare a `PHP_ADD_EXTENSION_DEP' on and the module order
is the registration order.
libxml2 is linked the Plan 9 way: `#pragma lib' in
`<libxml/xmlversion.h>', which 42 of the 46 installed `<libxml/*.h>'
include (the other three are empty deprecation stubs that declare
nothing). `<zlib.h>' already carried the same arrangement. No `LIB='
line in the mkfile as a result.
`BIN=' was missing, so `mkone's `cp $prereq $BIN/$TARG' was a null
list in an rc concatenation -- nothing could notice until a link
succeeded.
`apfunc-sweep.py' takes repeatable `--root DIR' so the sweep can be
asked about libxml2 and zlib beside libap; the default is unchanged
and its control still fires on all three states.
Also: `HAVE_FUNC_GETHOSTBYNAME_R_6' and the four `HAVE_*' answers for
the new extensions.
Three derivation faults are recorded in `docs/notes/php.md': an awk
pattern that could not match a path with a slash, dropping two
objects, with a completeness check (`ls *.c') that shared the same
wrong assumption and so agreed; and a widened pattern that then
missed a directory with a hyphen in it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WGAwvvTwDg2yknFkmZ3qzs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
libxml, dom, simplexml and zlib -- 44 objects against
lib/xml2' (2.15.2) andlib/z', both already in the tree. All 559 translation units compile under the host kencc mirror and `--undefined' resolves every symbol the program wants from outside php.The list is derived from
pts-core.php:208's ownpts_needed_extensions()' rather than from its error message: it requires JSON (already built), DOM, SimpleXML, and `extension_loaded('zip') || extension_loaded('zlib')' -- so ext/zlib satisfies the "MISSING ZIP" line and libzip is not needed.libxml goes first in both the OFILES list and
internal_functions_cli.c', because it is the glue both dom and simplexml declare aPHP_ADD_EXTENSION_DEP' on and the module order is the registration order.libxml2 is linked the Plan 9 way:
#pragma lib' in<libxml/xmlversion.h>', which 42 of the 46 installed<libxml/*.h>' include (the other three are empty deprecation stubs that declare nothing).<zlib.h>' already carried the same arrangement. No `LIB=' line in the mkfile as a result.BIN=' was missing, somkone's `cp $prereq $BIN/$TARG' was a null list in an rc concatenation -- nothing could notice until a link succeeded.apfunc-sweep.py' takes repeatable--root DIR' so the sweep can be asked about libxml2 and zlib beside libap; the default is unchanged and its control still fires on all three states.Also:
HAVE_FUNC_GETHOSTBYNAME_R_6' and the fourHAVE_*' answers for the new extensions.Three derivation faults are recorded in
docs/notes/php.md': an awk pattern that could not match a path with a slash, dropping two objects, with a completeness check (ls *.c') that shared the same wrong assumption and so agreed; and a widened pattern that then missed a directory with a hyphen in it.Claude-Session: https://claude.ai/code/session_01WGAwvvTwDg2yknFkmZ3qzs