-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
xalan-c: Remove use of obsolete unary_ and binary_function for C++17 compatibility #4575
Conversation
Thanks for the PR! I'd prefer to avoid committing these large patchfiles to the vcpkg tree if possible -- is there a stable URL that we could download them from instead? I see that the jira ticket has links, but I don't know how durable those will be (Do they get cleared when the bug closes? After a year? Never?). |
I'm not sure about the JIRA links. Have you considered an equivalent to Homebrew formula-patches for vcpkg? For example here are the xalan patches. I'll also be putting them here, so could potentially be pulled by vcpkg. But I'm unsure of the lifetime--it may well depend upon how long homebrew requires them before dropping them, which might not align with the vcpkg requirement. And homebrew is often quite aggressive in their cleanups and changes. If a |
@ras0219-msft I have split out the patches here and then updated this PR to use them. I hope this meets your requirements. It downloads using the commit hash, so will be deterministic if the patches are updated by a future commit. If you wanted to adopt this approach more generally by adopting a Regards, |
@ras0219-msft I've tested this locally with C++17 builds over the last few weeks using the latest VS2017 and it's all working fine for me. Are the patches in the separate repository for download an acceptable strategy? |
Yes, this LGTM; thanks for doing that! We'll definitely consider opening a Ready to merge pending CI! |
Awesome, thanks! I'll be happy to migrate these patches over to your patches repo as and when it becomes available. |
Thanks again for the PR! |
See JIRA ticket and original C++17 patch branch which dates back to February with these patches split out for independent re-use.
With these patches applied, it's possible to use xalan-c in C++17 codebases compiled with
-std:c++17
. Without the patches,std::unary_function
andstd::binary_function
cause compilation to fail, since they were removed with C++17.