Subject: Re: bug#17157: [PATCH 1/5] Partially revert "dfa: improve port to freestanding DJGPP"

From: [email-masked]
Date: Tue, 01 Apr 2014 12:36:08 -0600

Hi Paul & Paolo,

Paolo Bonzini <[email-masked]> wrote:

> Il 01/04/2014 16:43, Paul Eggert ha scritto:
> > Paolo Bonzini wrote:
> >> setlocale, static_assert etc. should be in a dfacompat.h file
> >
> > We already have a file that serves this function, called mbsupport.h. We
> > could rename it to dfaconfig.h (a better name than dfacompat.h, as it's
> > basically a separate config.h for dfa.c).
>
> Good idea.
>
> Paolo

Not really such a good idea. mbsupport.h is used in multiple places
in gawk to define if MBS support is availble. It needs to stay
that way. Since we're discussing keeping dfa simple in both its
environments, then it needs to be in a header that only dfa uses.

At the moment, the best candidate is xalloc.h, which differs somewhat
grep vs. gawk. 

But here too, in reality that file is mainly for allocation stuff
and dfa portability doesn't really belong there.

I respectfully suggest dfaconfig.h (or dfacustom.h) with

	#ifdef GAWK
	#ifndef HAVE_SETLOCALE
	#define selocale(x, y)	NULL
	#endif
	#define static_assert(cond) ...
	#endif

as the initial contents.

Much thanks,

Arnold