| 20 Feb 2025 |
roberth | clangd also seems confused | 22:19:57 |
John Ericson | the generated header has to be generated in the (build dir mirror of the) directory | 22:20:16 |
John Ericson | so if we want to ahve one list of headers we append to | 22:20:25 |
emily | couldn't fs.copyfile solve that? | 22:20:33 |
John Ericson | we do need to have that nix/meson.build | 22:20:36 |
John Ericson | I think the dest of fs.copyfile must abide by the same rule? | 22:20:55 |
roberth | might have done that with a mix of gcc and clang. retrying with clang only | 22:22:44 |
roberth | oh same | 22:22:54 |
roberth | ok, was perhaps premature to test. Will try again tomorrow? | 22:25:26 |
John Ericson | sorry about that, it worked for me! | 22:32:31 |
John Ericson | it was the last thing I fixed, however | 22:32:59 |
roberth | np. I shouldn't complain | 22:33:01 |
John Ericson | src/libutil/nix/meson.build is config_h defined in there? | 22:33:06 |
roberth | seems so | 22:33:40 |
John Ericson | I'll clean and start again | 22:33:57 |
John Ericson | ah, reproduced it now | 22:37:42 |
emily | John Ericson: I believe you do want <nix/…> because that will suppress warnings for the headers | 23:03:38 |
emily | (don't quote me on this though) | 23:03:42 |
John Ericson | emily: OK | 23:04:58 |
John Ericson | I just did "..." caux lix did heh | 23:05:06 |
John Ericson | I do think once it is installed, it is a "system header" | 23:05:20 |
John Ericson | so it certainly it should be <,..> | 23:05:53 |
John Ericson | * so it certainly it should be <....> | 23:06:00 |
John Ericson | IMO a <....> is undeused | 23:06:07 |
emily | yes, I just forget whether "system headers" can use non-system includes to include other system headers without issues or not | 23:06:22 |
John Ericson | from the perspective of owns own project, it is weird, but headers are not for that perspective! | 23:06:28 |
John Ericson | emily: Robert Hensing (roberth) OK it should work now | 23:15:59 |
roberth | meson is compiling, clangd is happy 🎉 | 23:30:37 |
| 21 Feb 2025 |
Sergei Zimmerman (xokdvium) | In reply to @emilazy:matrix.org (don't quote me on this though) I don’t think that’s how it works. ”…” and <…> only affect default search path preferences https://gcc.gnu.org/onlinedocs/cpp/Search-Path.html. I our case this distinction does not make a difference.
To disable warnings you have to include directories via -isystem and not via -I.
For reference, Cmake does that with SYSTEM flag in target_include_directories:
https://cmake.org/cmake/help/latest/command/target_include_directories.html
Some discussions about meson’s handling of system includes: https://github.com/mesonbuild/meson/issues/963
https://github.com/mesonbuild/meson/pull/5953
Barring some unforeseen differences around search path preferences/order shenanigans it really doesn’t matter semantically.
I think in general the de-facto rule/convention is to refer to one’s own headers with quotes to highlight to the reader that it’s part of the same project and not an external library. | 06:00:51 |
| alexandi joined the room. | 06:52:57 |