Skip to content

meson: Do not export private headers in libzstd_dep to avoid name clash#4153

Merged
Cyan4973 merged 2 commits into
facebook:devfrom
artem:fix-meson-includes
Oct 2, 2024
Merged

meson: Do not export private headers in libzstd_dep to avoid name clash#4153
Cyan4973 merged 2 commits into
facebook:devfrom
artem:fix-meson-includes

Conversation

@artem

@artem artem commented Sep 30, 2024

Copy link
Copy Markdown
Contributor

This way libzstd_dep does not override, for instance, <xxhash.h>

This way libzstd_dep does not override, for instance, <xxhash.h>
@facebook-github-bot

Copy link
Copy Markdown

Hi @artem!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at [email protected]. Thanks!

@artem

artem commented Sep 30, 2024

Copy link
Copy Markdown
Contributor Author

Signed CLA.

perhaps cc @eli-schwartz for review?


libzstd_dep = declare_dependency(link_with: libzstd,
include_directories: libzstd_includes)
include_directories: join_paths(zstd_rootdir,'lib')) # Do not expose private headers

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes sense to me. It corresponds to the only 3 headers that get installed, and libzstd_dep is supposed to be equivalent to the installed zstd library.

It's still possible for people to do something filthy like #include <common/xxhash.h> but if they do then they broke it themselves, so they get to keep both pieces.

@facebook-github-bot

Copy link
Copy Markdown

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!

@artem

artem commented Sep 30, 2024

Copy link
Copy Markdown
Contributor Author

The second commit fixes tests and contrib that I broke =)

@Cyan4973 Cyan4973 added the build label Sep 30, 2024
@Cyan4973 Cyan4973 self-assigned this Sep 30, 2024
@Cyan4973
Cyan4973 merged commit 75b0f5f into facebook:dev Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants