The use of `CMAKE_BINARY_DIR` and `CMAKE_CURRENT_BINARY_DIR` when
specifying files to set_source_files_properties caused problems
when this project is used from another CMake project.
More specifically, these variables aren't set to the expected path,
and the properties are attempted to be set for non-existant files.
This was benign before vectorscan 5.4.8 as the only properties
set were warning suppression flags.
Starting with 5.4.9, `-funsigned-char` was applied to Ragel outputs
using this method. The result is projects depending on Vectorscan
through Cmake do not have this compile flag properly applied.
Design compile time api hs_compile_lit() and hs_compile_lit_multi()
to handle pure literal pattern sets. Corresponding option --literal-on
is added for hyperscan testing suites. Extended parameters and part of
flags are not supported for this api.
alpine uses musl instead of glibc and therefore doesn't have backtrace()
as part of its libc.
POSIX mandates that _exit() be defined through unistd.h which used to be
included together with execinfo.h when backtrace() was detected and
therefore it happened to build fine for linux or freebsd (when using
libexecinfo from the system or ports).
since there was a macro already defined to test for unistd.h use that
instead and decouple this dependency, so that the code could be built
even when no backtrace() is provided (as expected also in OpenBSD)