We do not want to have a ragel dependency, so we just create the generated files by ourselves. All you need to do is ragel6 file -o gen_file
and copy to the needed directories.
Then delete all the specific info about ragel in CMakeLists.txt and in util/CMakeLists.txt.
Also in Linux AVX2 is enabled by default -- just set FAT_RUNTIME variable to true if AVX2 is presented.
Hyperscan is a high-performance multiple regex matching library. It follows the regular expression syntax of the commonly-used libpcre library, but is a standalone library with its own C API.
Hyperscan uses hybrid automata techniques to allow simultaneous matching of large numbers (up to tens of thousands) of regular expressions and for the matching of regular expressions across streams of data.
Hyperscan is typically used in a DPI library stack.
Information on building the Hyperscan library and using its API is available in the Developer Reference Guide.
Hyperscan is licensed under the BSD License. See the LICENSE file in the project repository.
The master
branch on Github will always contain the most recent release of
Hyperscan. Each version released to master
goes through QA and testing before
it is released; if you're a user, rather than a developer, this is the version
you should be using.
Further development towards the next release takes place on the develop
branch.
The official homepage for Hyperscan is at www.hyperscan.io.
If you have questions or comments, we encourage you to join the mailing list. Bugs can be filed by sending email to the list, or by creating an issue on Github.
If you wish to contact the Hyperscan team at Intel directly, without posting publicly to the mailing list, send email to hyperscan@intel.com.