On 2018-03-13, Laslo Hunhold <[email protected]> wrote: > On Tue, 13 Mar 2018 13:44:08 -0600 > Gavin Howard <[email protected]> wrote: >> About GNU extensions: this was originally implemented for toybox >> (http://landley.net/toybox/), and the maintainer specifically asked >> that my bc be able to run >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/time/timeconst.bc >> which has basically every GNU extension. Thus, my bc will probably not >> fit the suckless philosophy because the GNU extensions need to stay. >> Thanks, though. > > Toybox is a one-man operation and it shows in the code. I'd rather > recommend busybox to anyone, and I hate busybox! > You as a developer need to decide how you want to write your code. It's > a mistery to me why you presented it here when you are not planning to > even remove some of the insane GNU-extensions.
I know next to nothing about bc and what GNU extensions are used by timeconst.bc, but being able to build a linux kernel sounds like a good goal to me. However, if timeconst.bc can be changed to use only portable features of bc (in a way that is acceptable to upstream), I think that would be better than implementing the GNU extensions. Currently sbase (and GNU make/bc) is almost sufficient for building linux, except for - Usage `-n` flag in ln(1), which I think we should add. - Usage of `\t` in sed bracket expressions. I sent a patch and it was accepted, so this should be fixed in a future linux version (maybe 4.17?). - Usage of `stat -c "%s"` to determine file size. I sent a patch to use `ls -dn`, but still need to respond to some comments.
