Paolo Bonzini <[email protected]> wrote:
> Il 01/04/2014 20:36, [email protected] ha scritto:
> > 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.
>
> Couldn't gawk's dfaconfig.h include gawk's mbsupport.h?
Yes, but why? dfa.c needs mbsuport.h no matter what.
Using Paul's separation of concerns:
* mbsupport.h - provide definition for MBSUPPORT. Opaque to dfa.c.
* xalloc.h - provide declarations (and maybe definitions) for **alloc,
opaque to dfa.c
* dfaconfg.h - provide other definitions needed by dfa.c which may not be
in standard headers for when gnulib isn't being used
Thanks,
Arnold