[Toybox] [PATCH 2/2] macOS: use -E rather than -r for sed extended regular expressions.

Rob Landley rob at landley.net
Thu Nov 29 17:53:42 PST 2018


On 11/29/18 5:25 PM, enh wrote:
>> The question is, does it build/run on macos? If so, I could add a compile-time
>> probe to build toybox sed if the host sed can't jump to a forward label and
>> stick it in the $PATH...)
> 
> it builds, but if i try to build toybox with `export
> SED=~/toybox-gsed` i get bad generated files. flags.h, for example,
> only has the generic toybox stuff and is missing all the toys.
> likewise newtoys.h. (there are no error messages though.)

Huh. Ok, _that_ is a bug and I should track down what's going on there. (Lemme
see if I can reproduce it on Linux, or if it's a macos thing. Actually, if you
built sed normally with gsed on the host, does the resulting toybox sed behave
properly? That's the "did I screw up the config" or "is the libc regex behaving
differently".)

(If the macos libc regex() is behaving differently, I'm not sure I can fix that.
Might be able to work around it with a preprocessing wrapper though?)

> oddly, `make test_sed` on macOS passes all the tests. (well, once i
> replace all the `sed` invocations in scripts/ with `gsed` so i can
> actually build the single tool.)

Needs more tests then.

> the good news, actually, is that for the toys i've been able to build,
> most of the tests pass. the exceptions are where the test relies on a
> decent sed/realpath/whatever, which isn't going to be true on the mac
> (we actually use python for that kind of thing in the NDK!), plus
> xargs' "too long" cases, which appear to be legitimately different on
> macOS.

The xargs too long cases are a moving target on Linux. I roped you into that
conversation a few months back. :)

Still Rob



More information about the Toybox mailing list