-
Notifications
You must be signed in to change notification settings - Fork 130
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
Disable default features in libxml2. #5221
Conversation
We don't seem to make use of any of them in `xml_wrapper.cpp`.
Thank you for your contribution @teo-tsirpanis! We will review the pull request and get back to you soon. |
@teo-tsirpanis can you please help me understand what the consequences are of disabling default features from a dependency like libxml2 and why it's beneficial to do so? Also, regarding:
How did you check and validate that to be true? Maybe we can apply that approach elsewhere too, if useful. |
The default features of For one example, the Before this PR, consumers of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @teo-tsirpanis! The change makes sense, and looks good.
I am approving, but I'll also wait for the Storage team's approval before merging.
P.S.: I pushed a commit into your branch, to also include the "Acknowledgments" section.
Co-authored-by: Anton Kolesnyk <[email protected]>
Is there any way to test this? I tried to add index af09fe2c5..5e13c2084 100644
--- a/ports/azure-storage-common-cpp/vcpkg.json
+++ b/ports/azure-storage-common-cpp/vcpkg.json
@@ -16,6 +16,7 @@
},
{
"name": "libxml2",
+ "default-features": false,
"platform": "!windows"
},
{ to vcpkg repo and run
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really want to test this before merging the PR.
According to vcpkg's documentation default features are not built if the top-level project does not enable them. I tried building teo-tsirpanis/TileDB@cb67261 and got this:
I verified that disabling default features in the top-level |
@Jinming-Hu, if a manifest has Step 1:
Step 2 - with the fix:
Step 2 without this fix:
This mechanism is exactly why I.e. Regarding verification, our CI, even for this PR, does already run with vcpkg fetching the dependencies in manifest mode, and should there be problems, it would've expoded right here. As a second thing, our daily vcpkg validation PR (microsoft/vcpkg#34835) will go bad, if we merge this, and there are problems. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@teo-tsirpanis @antkmsft Thanks for the pointers. I've tested this. It works for storage.
We don't seem to make use of any of them in
xml_wrapper.cpp
.Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.