Ruby bindings to RE2, a "fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python".
As raised by @stefanor, recent versions of re2 now require a compiler with C++11 support and this gem will fail to compile without the appropriate build flags.
Attempt to detect newer versions and try potential build flags to successfully compile the gem regardless of re2 version.
This also includes a workaround for a bug in Ruby 2.3.0 (fixed in 2.3.1) where memset_s is not included in string.h when using C++11 by requiring Ruby's headers before loading re2.
As raised by @stefanor, recent versions of re2 now require a compiler with C++11 support and this gem will fail to compile without the appropriate build flags.
Attempt to detect newer versions and try potential build flags to successfully compile the gem regardless of re2 version.
This also includes a workaround for a bug in Ruby 2.3.0 (fixed in 2.3.1) where memset_s is not included in string.h when using C++11 by requiring Ruby's headers before loading re2.