Wireshark-dev: Re: [Wireshark-dev] Should we require Flex with reentrant scanner support?

From: Evan Huus <eapache@xxxxxxxxx>
Date: Mon, 21 Sep 2015 10:01:39 -0400
On Sun, Sep 20, 2015 at 11:20 PM, Guy Harris <guy@xxxxxxxxxxxx> wrote:
> Currently, we require Flex, rather than Lex, but we don't require a version of Flex sufficiently new to support reentrant scanners.
>
> That's not a major issue yet, but it could potentially be an issue if we make more use of threading and have two threads in the same process
>
>         1) both reading Lucent/Ascend ISDN device text output files;
>
>         2) both reading Tektronix K12 text files;
>
>         3) both importing text files as captures;
>
> as those all involve Flex scanners.  It *might* also come up if any of the other Flex-scanner code is run in more than one thread at once.
>
> If we also require a version of Flex that supports --header-file=, it could also let us clean up or even eliminate the runlex.sh script, as those versions of Flex can generate a .h files that declares functions.
>
> Flex 2.5.6 (from some time in 2002, I think) adds support for reentrant scanners.  It also supports --header=, which was renamed to --header-file in Flex 2.5.19, released 2002-09-05.
>
> We'd also want to require Bison or Berkeley YACC, to generate reentrant parsers, for the Lucent/Ascend ISDN device text file reader.

I think requiring software released in 2002 is probably safe, we
already require much more recent versions of most other libraries.

Evan