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

Reply via email to