portable: update dist configuration When running 'make dist', ensure we automatically pass through the relevant configure options so that the relevant files are included.

portable: add --enable-cvg flag Just while cvg is being developed, mask the building of this via a flag to ./configure -- this is not intended to be used by any packagers, but rather, provide a means for developers for testing. This flag will go away once cvg is considered releasable.

portable: configure: echo gotd/gitwrapper paths When --enable-gotd is present, and gotd empty path or gitwrapper's git libexec path is set, print those out with the other information at the end of the configure script. "N/A" is set where no value is present. Helpful for debugging.

portable: make gitwrapper --enable-gotd aware There's no point installing gitwrapper outside of enabling gotd, as this is only used by gotd.

portable: configure gitwrapper/gotd paths Rather than hard-code assumptions into gitwrapper and gotd binaries, allow for some values to be overriden at compile time. This should help portability.

portable: gotd/gitwrapper: update for libs Bring gotd and gitwrapper closer to how libraries are detected.

portable: enable gotctl (via --enable-gotd) This builds gotctl, for the moment via --enable-gotd

portable: build gotsh when --enable-gotd passed When building gotd, also build gotsh.

portable: enable compiling gotd This enables gotd -- for now, this is opt-in at compile-time, via: ./configure --enable-gotd

portable: enable cvg

portable: linux: add libmd On some systems libmd isn't explicitly implied, so detect this via pkg-config at configure time. Problem reported by @stsp

portable: fix getopt check Rather than always asserting our version of getopt(2), only do so if it lacks certain features. Some of the changes have come from openssh-portable.

portable: OpenBSD compilation fixes

portable: curses: improve detection When checking for ncurses, don't clobber previous checks for libpanel.

portable: improve b64_ntop detection When looking for base64 functions, check -lresolv and/or -lnetwork, and only build those in compat if required. Some of the detection code was modified from tmux's script.

portable: add missing header checks Some code in compat/ has #defines which were not being checked for in, which could have lead to compilation failures were those files to be included on systems which needed them. In doing so, we can now remove libmd and libcrypto as these are no longer needed.

portable: configure: use SHA_2{,56}_H Don't use a custom variable when the header checks for these are already available. From Christian "naddy" Weisgerber.

portable: configure: flatten LIBS Set LIBS to the empty string so that only the specific dependencies are included where needed, rather than relying on autotools to do this for us. This will make splitting out got into different subprojects easier, as well as allow for multi-packing on those systems which support it.

portable: configure: split out dependencies Rather than assume all dependencies are required for all programs, split them out. This will make packaging easier, as well as splitting the code to use subprojects. Note that due to the use of config.h semantics, in most cases the got_compat.h header file is now at the top of the .c file it is included in, so that it can handle the system header inclusion properly.

portable: configure: use config.h So that the command-line flags to CC don't get drowned out with copious -D flags, move this detection to config.h instead. Note that to reduce the code churn, the existing include/got_compat.h header file has been renamed, and the generated file replaces it, but with the contents of the original header file included. Eventually, we might want to move some od the logic in include/got_compat2.h into AH_VERBATIM() blocks, but for now, this is a good compromise.

portable: configure: remove unused variable found_libbsd isn't used any more.

portable: update PLATFORM display Fixes openbsd.

portable: add OpenBSD to PLATFORM detection

portable: improve SHA detection Original patch from Omar Polo. Tweak by me.

portable: compat: sha2 Add compatability support for sha2 for systems which don't natively have it. This has been stolen from OpenBSD. Thanks!