libarchive: Fix static lib deps on Windows - #2840
Conversation
|
There's nothing like that in declare_dependency but you can provide separate overriding dependencies for static and shared (static keyword argument of |
|
@bonzini Should I do that? Split up |
|
You can use Meson really should improve support for this, for example:
The name is a mouthful but still. |
According to documentation, Having To be honest, I don't really see a sensible way to plug It doesn't help that extra logic has to be put both into compilation and into dependency exporting. With all that in mind, here's the solution I'm envisioning that takes into account the things I wrote above in pseudocode: Unless this will be reviewed further and unless I will receive positive feedback on implementing this change, I will not make such change a part of the PR. My PR doesn't make the situation worse, it didn't work before and after my changes it still doesn't work. Maybe that was the original wrap author's intention, to not care about I know that your comment is a direct reaction to my question, perhaps you did not intend me to implement such change. If not, the PR should be ready to merge (maybe except for the 60 failing tests, but they are again not caused by my PR). Footnotes
|
|
I agree that if you need to account for older versions your options are much more limited.
"Is truly static" is just |
With no intervention, libarchive library functions are declared with __declspec(dllimport) even when libarchive is built statically. This leads to linker errors.
ee424a2 to
eb673b7
Compare
I did not know that. But the issue remains, I can't use
Correct. Should I export a Should I implement the change I reluctantly proposed? |
With no intervention, libarchive library functions are declared with __declspec(dllimport) even when libarchive is built statically. This leads to linker errors.
I'm unsure how
default_library=bothis supposed to work here. There's nodeclare_dependency(static_only_compile_flags: '-DLIBARCHIVE_STATIC'). What'sdefault_library=botheven for anyway? Does setting it in a wrap even make sense?