Commit Briefs
drop the dependency on lex by implementing yylex by ourselves
The actual implementation is based off doas' parse.y. This gave us various benefits, like cleaner code, \ to break long lines, better handling of quotes etc...
fix various compilation errors
Include gmid.h as first header in every file, as it then includes config.h (that defines _GNU_SOURCE for instance). Fix also a warning about unsigned vs signed const char pointers in openssl.
improve compat/getprogname on GNU libc
but why'd they called it program_invocation_short_name? They couldn't find a longer name?
link to compat/ even in regress
this unlocks the full regress tests on arch, for instance, or every OS where we don't have strl*
add compat for setproctitle
This adds a check for setproctitle and for the (linux) prctl PR_SET_NAME. If setproctitle is not available, on linux we provide an implementation that use prctl (taken from tmux compat layer.)