-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
meson fixups #2746
meson fixups #2746
Conversation
-Werror fails because EDIT: also this is generally impossible if you build the tests too. |
d649ae0
to
1702819
Compare
…ple binaries This saves repeatedly compiling them, resulting in 16 fewer compile steps, in exchange for one `ar` step.
meson prefers that project-level options for Wall/Wextra/pedantic be used, rather than hardcoding raw flags in add_project_arguments. If you do the latter anyway, it raises a meson warning. Set the default options for the project to use all this. Also move the -Werror comment to the project default options with appropriate format, but leave it commented out since it does not work.
1702819
to
5169ef3
Compare
In the end I had to kind of rip out the current shared library linkage in tests/ because I don't think this was ever going to work. So all the test binaries now link to libtestcommon.a, a convenience library shared between test programs which also includes a copy of all .o files from libzstd. Since they are .o files, the fact that they're built with |
New in this force-push is commit ee3355d, which should actually slightly speed up building by sharing some object files which are built identically for multiple test binaries, and can now be shared. |
5169ef3
to
c7b8133
Compare
This matches the Makefile build. Due to one private xxhash symbol in use by the program, it recompiles a private copy of xxhash. Due to the test binaries making extensive (?) use of private symbols, it doesn't even attempt to link to shared libzstd, and instead, all of the original object files are added to libtestcommon itself for private linkage. This, too, matches the Makefile build. Ref. facebook#2261
c7b8133
to
9748608
Compare
Please let this be the last push... if pthread is a dependency of libzstd, it needs to be added to the convenience library too. But this worked flawlessly locally... because I'm running a development version of glibc which has moved libpthread into libc.so and is no longer required to be separately linked, lol. |
These are the same changes I applied upstream at facebook/zstd#2746 But we need it here too for our forked meson.build
These are the same changes I applied upstream at facebook/zstd#2746 But we need it here too for our forked meson.build
These are the same changes I applied upstream at facebook/zstd#2746 But we need it here too for our forked meson.build
These are the same changes I applied upstream at facebook/zstd#2746 But we need it here too for our forked meson.build
These are the same changes I applied upstream at facebook/zstd#2746 But we need it here too for our forked meson.build
These are the same changes I applied upstream at facebook/zstd#2746 But we need it here too for our forked meson.build
These are the same changes I applied upstream at facebook/zstd#2746 But we need it here too for our forked meson.build
Two small changes: