tcpdump mailing list archives
Should we require Flex to build libpcap?
From: Guy Harris <guy () alum mit edu>
Date: Sun, 20 Sep 2015 15:03:10 -0700
Currently, we don't use any Flexisms in scanner.l, we *do* use %a 18400 %o 21500 %e 7600 %k 4550 %p 27600 %n 2000 to try to boost some of lex's table sizes to handle it, and we make an effort in the configure file to find regular lex and see if it's capable of processing scanner.l. There may be some outstanding bugs for lex on some platforms not being able to handle scanner.l even with those directives. Using Flex would also let us use this: https://github.com/the-tcpdump-group/libpcap/pull/359 rather than this: https://github.com/the-tcpdump-group/libpcap/pull/360 to fix _LARGE_FILES issues on AIX (at the cost of possibly requiring AIX users to download and install Flex :-)). We could also at least clean up, if not eliminate, the runlex.sh script. Flex 2.5.1 (from 1995-03-28) adds %option never-interactive, which avoids calling isatty() and fileno(), which means we wouldn't have to throw in some #defines for Windows. Flex 2.5.6 (from some time in 2002, I think) adds support for reentrant scanners. This, plus using Bison's or Berkeley YACC's %pure-parser support for reentrant parsers, could let us make pcap_compile() thread-safe. Should we continue supporting lex, or should we require Flex? If we require Flex, should we require 2.5.6 or later, along with Bison or Berkeley YACC, and make the scanner and parser reentrant? _______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- Should we require Flex to build libpcap? Guy Harris (Sep 20)