-
-
Notifications
You must be signed in to change notification settings - Fork 282
add xdebug dynamic extension #673
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This requires some work from your side. Technically these extensions don't have libraries but should have a build function themselves, rather than adding a library with the same name. I only went this route to get a proof of concept working quickly. There's also no functionality to test these extensions yet. It could be done by adding a |
Interesting. If it is confirmed to work for glibc and macOS, maybe it would be better to directly support this feature in Extension.php? For example, when I build PHP, if I pass Also, add |
I cannot confirm macOS other than through github actions. I think we either use a different attribute (DynamicExt) because that way, we can distinguish which libraries/extensions need to be built before or after php. We could also support putting both attributes on an extension, that way it would be statically baked into php, but would also produce a .so extension to copy out.
I think it would be nice for a few extensions. Treating it as a general possibility is better than hacking something together as I did for the proof of concept. This is your project and your decision about the way it's implemented. My choice would be two different attributes and if an extension has #[DynamicExt] it'll be given a builder and a method will be called after. But we should reuse as much code as we can from the current dependency resolving system because dynamic extensions may also have library requirements.
Yes, great idea. Which... thinking about it... doesn't make all that much sense, I guess. But it doesn't hurt either, so why not. |
Dynamic extension build support for macOS and glibc Linux
90b0d70
to
0c6dd7a
Compare
It seems that some changes broke the dependency manager and I can't compile extension that contains |
Everything looks good to me now, but I haven't fully tested all we added features. |
🥇 |
What does this PR do?
see #672
Checklist before merging
*.php
, runcomposer cs-fix
at local machine.src/global/test-extensions.php
../docs/
.config/xxx.json
content, runbin/spc dev:sort-config xxx
.