Skip to content
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

Missing flag in pkgconfig file #289

Open
kmilos opened this issue Sep 25, 2024 · 2 comments
Open

Missing flag in pkgconfig file #289

kmilos opened this issue Sep 25, 2024 · 2 comments

Comments

@kmilos
Copy link

kmilos commented Sep 25, 2024

Although not strictly necessary and functions without so far, the -DUHDR_USING_SHARED_LIBRARY hint might help the linker generate more optimal output on Windows.

When building a shared lib on Windows (any compiler), the resulting .pc file should look like:

Cflags: -I${includedir} -DUHDR_USING_SHARED_LIBRARY

P.S. At least on MSYS2 (using pkgconf rather than pkg-config), the same .pc file can also support both shared and static libs by also adding the (undocumented)

Cflags.private: -UUHDR_USING_SHARED_LIBRARY

as well.

See e.g. https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-libdeflate/002-pkg-config.patch

Edit: I see that vcpkg also ships pkgconf rather than pkg-config, so should work out there as well.

@ram-mohan
Copy link
Contributor

@kmilos instead of pkgconf if pkg-config were used, wouldn't this change break static builds as cflags.private is not supported by later.

@kmilos
Copy link
Author

kmilos commented Oct 23, 2024

Possibly, in theory... However, you'd only add these on Windows when building a shared lib (or both shared + static), and all "major" Windows dev frameworks I'm aware of (vcpkg, MSYS2 MinGW, and Cygwin, even Conan) ship only pkgconf.

So it's up to you - either do this and wait for (unlikely?) breakage reports from some more exotic build environments on Windows, or leave it out and let the packagers patch it on their own accord...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants