Configure test is the best way to go. This point actually has nothing to do with the platform, rather whether you use yacc, bison, byyacc. I think there is a write up about this in either the autoconf or automake manuals. Or maybe it's the bison manual. Somewhere it says something about this topic :)
> Hi, > > thanks for the patches! > Rick Scott made fix #1 in cvs in October but it hasn't been part of a > tarball until 4.0.10 the end of last week. > CVS for #2 now reads > #if defined(linux) || defined(cygwin) || defined (freebsd) > so it looks like your suspicions were correct and we need to differentiate > among linuxes (linices???) or do a configure test for extern int yylineno. > Any suggestions/preferences? > > Pete > > Jan Gentsch wrote: > > > Hi, > > > > attached you will find a little patch. Both problems have been around > > since at least 4.0.7 and hence I presume they are still there. Every > > compiler should have barked at the first one. The second max be > > distribution specific? I run SuSE linux 6.3. > > > > Jan > > > > > > ------------------------------------------------------------------------ > > --- src/uipp/base/Application.h.org Sun Jan 9 23:11:57 2000 > > +++ src/uipp/base/Application.h Sun Jan 9 23:12:14 2000 > > @@ -52,7 +52,7 @@ > > // > > // The main program needs to access protected member functions. > > // > > - friend void main(unsigned int argc, > > + friend int main(unsigned int argc, > > char** argv); > > > > > > --- src/uipp/dxuilib/Network.C.org Mon Jan 10 00:13:49 2000 > > +++ src/uipp/dxuilib/Network.C Mon Jan 10 00:14:33 2000 > > @@ -1190,7 +1190,7 @@ > > extern > > FILE* yyin; /* parser input stream */ > > > > -#if defined(linux) || defined(cygwin) > > +#if defined(cygwin) > > int yylineno; > > #else > > extern int yylineno; /* lexer line number */