Couldn't it run m4 -d and capture output, see if it is accepted, and change 
options to suit?

Sent from Yahoo Mail on Android 
 
  On Tue, Jan 25, 2022 at 4:14 PM, will...@welliver.org<will...@welliver.org> 
wrote:   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
  

Reply via email to