| 20 Feb 2025 |
John Ericson | oh woah | 19:07:29 |
John Ericson | ok sorry | 19:07:34 |
John Ericson | I didn't know any of the fs.* things were deferred actions | 19:07:45 |
emily | so you enumerate (or glob I guess if you have to) the headers from source – that part would be configure time, I suppose – fs.copyfile them to include/nix, and include in the build directory that can be the resulting library's include directory | 19:08:16 |
John Ericson | we already don't have glob (RIP) | 19:08:26 |
John Ericson | so making a bunch of separate build targets is OK | 19:08:35 |
emily | seems like a silly amount of ceremony but you can probably abstract it into the existing support thing. | 19:10:33 |
emily | and that at least ensures that downstream code only sees the include/ as it will be installed | 19:10:49 |
emily | regardless of source organization | 19:10:54 |
John Ericson | yes | 19:10:59 |
John Ericson | emily: I did the symlink wrong and broke git :D | 19:22:37 |
emily | still don't think you need an in-source symlink at all :P | 19:23:36 |
John Ericson | I don't but I think it is an easier first step in some respects | 19:24:41 |
John Ericson | * I don't either, but I think it is an easier first step in some respects | 19:24:46 |
emily | FWIW, from some digging it looks like apparently the requiring -I…/nix thing dates back to 2.19… | 19:25:22 |
John Ericson | I think it is effectively older | 19:25:44 |
John Ericson | oh requiring | 19:25:49 |
John Ericson | some things came up because unit tests | 19:25:57 |
emily | if there's already a list of the header files in the source then it's only a few lines of Meson to loop over them to make an include/ in the build directory that can be used for both installation and downstream internal consumers, right? | 19:27:07 |
John Ericson | emily: I got weird enough stuff that I am just moving the files the "normal" way | 19:34:09 |
Robert Hensing (roberth) | clangd might be affected by such a solution, but I don't know that | 19:44:15 |
John Ericson | emily: header-file-namespacing branch | 22:10:11 |
John Ericson | the bug churn :) | 22:10:20 |
John Ericson | * the big churn :) | 22:10:23 |
John Ericson | CC ^ Robert Hensing (roberth) | 22:10:31 |
Robert Hensing (roberth) | ooh | 22:11:56 |
Robert Hensing (roberth) | github diff | 22:12:01 |
emily | looks reasonable to me :) is "nix/…" rather than <nix/…> correct for the installed headers? (also, I think nix/ rather than include/nix/ is still kinda bad because you're still going to be including .cc files etc. in the include path, unless I'm misreading) | 22:12:07 |
John Ericson | it could be <....> | 22:12:28 |
John Ericson | not sure! | 22:12:31 |