I've traced down some problems running the testsuite on systems that
ship with a non-gnu m4. Specifically, mktestsuite calls m4 with the "-d"
argument. Using gm4, the lack of flags implies the a,e and q flags. On
BSD m4, the "-d" argument /requires/ flags, though the flags themselves
are the same as GNU m4. POSIX/Solaris/illumos m4 doesn't support the
debug argument at all.
Looking at mktestsuite, it tries to determine whether it's using GNU m4,
and will prefer (but not require it) it should it find one. Once it's
chosen the m4 binary, it seems to assume that GNU options are
acceptable.
Since that doesn't work, I'm wondering what the preferred ought to be:
1. require GNU m4
2. just use the full -d argument and hope (solaris/etc) users will
figure out they need gm4
3. try to detect what sub-flavor of non-GNU m4 is being used
I don't recall the last time I ran across a solaris system without the
gnu build tools. I'd be inclined to take option 2 since it shouldn't
break anyone and will improve the situation for some. A more elaborate
solution could be considered if some POSIX purists complain later.
Thoughts?
Bill