are you sure you even want to bother with any of this? i feel like this is one of the 1980s "dynamic menus are bad" lessons --- better to have the option and let it explain why it doesn't work than to have it mysteriously sometimes not be there...
On Wed, Apr 23, 2025 at 10:05 AM Rob Landley <r...@landley.net> wrote: > > Working on fixing it but it might take a day or two. > > I've been rewriting the kconfig plumbing, which started by replacing the > help text generation (since the new kconfig.c had to parse the config > entries that had help text in them _anyway_), which meant the > config2help.c shananigans to splice together multiple config entries > when you had optional -Z lines because of enabling/disabling LSM support > (and float support in sort -g, and wget https support) weren't being > done anymore, so I did new plumbing for that, which meant a lot of the > intermediate symbols could just go AWAY if I had the opposite of > USE_BLAH() macros, which I _had_ initially implemented when I invented > those for busybox back in the day, so I added that and made the various > config strings use them, ala SKIP_TOYBOX_LSM_NONE("Z:") in the option > strings only puts the Z: in there when CFG_TOYBOX_LSM_NONE is _not_ set... > > But the sed creating the input to mkflags in scripts/make.sh only knew > about the USE_ macros, it didn't know how to make the skip macros. But > I'd locally enabled TOYBOX_LSM_NONE to test the extra help text showing > up before eliminating the LS_Z and similar symbols, and didn't test the > defconfig path. > > And _really_ what I should do is use some variant of the same ! trick in > the option string so the option gets skipped when the TOYFLAG to enable > it isn't there, and THEN I could probably make scripts/mkflags.c go away > too because... well I blathered about that in > https://landley.net/notes-2024.html#30-01-2024 and the following day a > year and change back. Generating the FLAG_ macros wasn't so hard, it was > the optstr that needed C. (And that's another generated/*.h file that > would be .config invariant, leaving ONLY generated/config.h that needed > to be recreated each build.) > > But in the meantime, the build breaks because the SKIP_ macro drops out > in the wrong pass and it says undefined symbol FLAG_Z. > > I could teach the old sed invocation to understand SKIP, but the right > fix is to rip out mkflags.c and replace it with bash (which of course > toysh needs to be able to run)... > > That said, the break shouldn't hit Android because their config has an > LSM so the SKIP macro _doesn't_ drop out. (I did actually test the code > before checking it in, just not all configurations. And the shortest way > out is through, so...) > > Sorry, > > Rob > _______________________________________________ > Toybox mailing list > Toybox@lists.landley.net > http://lists.landley.net/listinfo.cgi/toybox-landley.net _______________________________________________ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net