Commit Briefs

Thomas Adam

portable: gotd/gitwrapper: update for libs

Bring gotd and gitwrapper closer to how libraries are detected.


Thomas Adam

portable: handle gotd/auth


Thomas Adam

Revert "portable: HOST_NAME_MAX"

This reverts commit 0835bf10ee863d91a617270780cd79c405c6a992.


Thomas Adam

portable: HOST_NAME_MAX

On non-linux systems, as well as FreeBSD/MacOS, HOST_NAME_MAX isn't available. But it is defined a part of _SC, so we can use that.


Thomas Adam

portable: fix getopt check

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


Thomas Adam

portable: OpenBSD compilation fixes (ta/configh)


Thomas Adam

portable: fixes for NetBSD

* Move the main incldue/got_compat.h to the top of the files they're included in. * Define SHA256Init and friends to the system equivalents.


Thomas Adam

portable: cleanup headers

Remove useless headers which don't need to be included any longer.


Thomas Adam

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 configure.ac script.


Thomas Adam

portable: add missing header checks

Some code in compat/ has #defines which were not being checked for in configure.ac, 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.


Thomas Adam

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.


Thomas Adam

portable: alpine: include stdlib.h

Because musl is less forgiving about header-ordering, explicitly include this before stdio.h -- this won't affect existing files as the include guards elsewhere prevent this.


Thomas Adam

portable: extend got_compat2 include guard

Extend the include guard to the whole file.


Thomas Adam

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.


Thomas Adam

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.