Conversation
New variables are TOP (location of root makefile) and $(1)_RELDIR, the relative path to the source file (which is used as the relative output path)
- Find source files from TOP with vpath directives - $(1)_SOURCES now refers to files relative to their own directory (reldir) - Fix collection of sources with wildcard function - sort function must be used for source lists with possible duplicates (generated files in source tree) - .ONESHELL is global and if the 1st command in a rule starts with @, then the following lines will not be echoed either - Fix documentation - Fix install stage
|
@DanOlivier I don't want you to leave these PRs closed with a bad taste in your mouth. I think a comparatively small number of folks actually interact with the Nix build and test process on a regular basis and large changes that deeply change how all that stuff works are probably not very easy for @edolstra to engage with, especially when the benefits aren't called out super explicitly in the PR. Did you have a particular goal in mind when making these changes? |
|
Right. Don't worry, there is no bad taste. Actually, there were 3 experiments:
I began this work for a few different reasons, but in part because I preferred the cmake/ninja workflow (if it's good enough for Clang, then it's good enough for X). I have done this for other projects as well. That said, this work was complicated enough that there was little time left over afterwards for me to actually use Nix (I wanted to use it to build several photogrammetry tools while sharing common versions of common packages). The changes are still available, and I won't delete my repository, but they weren't getting any attention, and were running behind changes to origin, so I closed the PRs. I could even put some work into them in order to bring them up-to-date with the main repository, but it seems to me that there has to be more interest and discussion for that to happen. |
|
BTW, we're still missing meson support... which is supposed to be the next big thing, partly because systemd supports it now as well ;-) |
|
#2613 I started meson support, and I think someone else is about to contribute a fuller attempt :) |
Also an experiment (compared to CMake support)
Proved to be quite difficult, due to the amount of gmake-eval statements, and my ignorance of the need to use a vpath directive to allow the rules to engage