-
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
[python3] add features for readline and extensions #41183
[python3] add features for readline and extensions #41183
Conversation
…/vcpkg into add-import-test-script
if("extensions" IN_LIST FEATURES) | ||
if(VCPKG_TARGET_IS_WINDOWS) | ||
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) | ||
endif() |
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'm still surprised to see a feature changing library linkage. vcpkg normally requires this to be changed by the triplet.
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.
Yeah normally yes but everything has it exception. In this case it is a downstream requirement that python is build as shared library if somebody plans to build an extension since otherwise you'll need to rebuild python itself with all extension linked in, and that only works if all extension itself are build as static libraries which nobody actual nobody does (the only reference i found was an old paraview blog but they went ahead and changed all builds to being cmake and i havent found a reference to that since). you cannot even switch extensions to be static libraries in e.g. meson.
So yes, it is strange but it has its own set of good reasons.
Thank you! |
] | ||
}, | ||
"readline": { | ||
"description": "Build with readline. Requires system readline to be installed", |
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.
There's a readline port in vcpkg. Why does python need system readline?
UPD: readline is GPL licensed and python can use alternative implementations of readline.
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.
readline is GPL licensed and python can use alternative implementations of readline.
Fine, but it creates an installation order issue if not depending on readline
.
as #39449 without the testing of modules