Commits
- Commit:
943e9ed21cb1949f950a6f921d59b438cb759ae2
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
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.
- Commit:
4fccd2fe0ffbbc668b66abe63614470635f92f1b
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
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.
- Commit:
47dc83f5bed376c49b704738968d3f44c8e01d1e
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
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.
- Commit:
680b44a7e950277747770bc4302b55d2830e48df
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: configure: remove unused variable
found_libbsd isn't used any more.
- Commit:
398ba35fc0b8095d60ecaf9613a4be438b18c5fd
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: update PLATFORM display
Fixes openbsd.
- Commit:
01a22331ae6bf3ba9eb98d12d3542832f084074f
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add OpenBSD to PLATFORM detection
- Commit:
3aa316cbcf696304c13f295e70b40c94ac75d17d
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: improve SHA detection
Original patch from Omar Polo. Tweak by me.
- Commit:
b1ec8cee26c37a4d2687babea76a8ba4e7d724ad
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: compat: sha2
Add compatability support for sha2 for systems which don't natively have
it.
This has been stolen from OpenBSD. Thanks!
- Commit:
9445abba2bb2aa3b928e16d88abb8f27c360f4e8
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: tweak SHA1 detection/libbsd
Don't rely on AC_RUN_IFELSE as this breaks cross-compilation
(voidlinux). Although this is better replaced with AC_CHECK_DECL.
In template/ include checking for libbsd.
- Commit:
98670ba726486c39efff220ab1e074c62023aae7
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: rework SHA detection
Simply the SHA detection by not predicating on libcrypto, but instead
checking individual header files.
- Commit:
b29d689bdb0acd6ef758897f0ed1db91172f931a
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: make bison's location configurable
Some systems have bison (yacc) in a non-standard location. Since
Autotolls is setting the YACC environment variable based on the
AC_PROG_YACC macro, let the user override this if YACC is set in the
environment already.
This issue was found by a user of MacPorts. I did not get any feedback
from them as to whether this worked, but my own testing indicates this
should work.
- Commit:
9981e8e3868ca975b4732becdc01897770c0dfbe
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: template: use as a subproject
Move template into its own subproject as it's only needed at
compile-time and shouldn't be installed.
This needs compiling with the host compiler which is configurable via
HOSTCC and HOSTCLFAG environment variables.
This diff largely from op@ but additional tweaking from myself.
- Commit:
f600ad7605fa8b629252e6b11daae241ebe0d135
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: OpenBSD support
Despite -portable existing to make the codebase compile on platforms
other than OpenBSD, there's nothing wrong with making -portable still
compile on that platform as well.
- Commit:
947fe78cd6a2ebfbdc0d5b3ddb5d8094d178b784
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: configure.ac: fix libpanelw detection
When not using pkg-config on those systems where it isn't installed,
libpanelw should be checked within ncursesw as well -- such is the case
on OpenBSD for example.
- Commit:
cb11302ca643bbb042a84f1e4784202c0f9a1252
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: gotwebd: use template
This updates -portable's gotwebd instance to make use of the new
templating engine.
- Commit:
4859aafde818941279d6e6afc2e419f65906d9ac
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: reorder system_extensions
Cosmetic change only. No functional changes expected.
Via Anna (cybertailor) Vyalkova
- Commit:
47e5cb11ac8fa697272eb25c054157df284e4dd0
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add AM_PROG_AR
Needed for stringent checks on Gentoo. Bug 879825.
Via Anna (cybertailor) Vyalkova.
- Commit:
c59427c506d2ef9128e705a75134bb3a3b4d2848
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: check for sys/tree.h more fully
When checking for sys/tree.h on non-BSD systems, either it will be in
the standard include path (such as on MacOS), or it won't be found,
until libbsd is overlayed.
In cases where we want to find sys/tree.h via libbsd, perform a
AC_CHECK_DECL for a known #define in sys/tree.h -- which will still find
sys/tree.h in either location, or uses compat/tree.h in all other cases.
- Commit:
46384c6e760fdd54c263d1af7d6db58cc09a4e51
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: remove sys/tree.h compat inclusion
libbsd as a library was created some years back to pull together
BSD-specific functionality to be used on non-BSD systems. When it was
in its infancy, and not being widely adopted across non-BSD systems,
there was often a need to carry around compat versions of
sys/{queue,tree}.h
This is no longer the case -- and the compat code for this has never
worked on systems which lacked a compatible sys/tree.h header anyway, so
remove this, and let the user know that libbsd is needed.
A few people have mentioned this to me.
- Commit:
8e396e197251d88be969784fc4fa54732b4230a7
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: macos: look for gnu bison harder
When checking for GNU Bison (and presumably other) toolchain commands on
MacOS, ther's two main systems most users use. Brew, and Ports.
Both of these take different approaches when building software, and
although a Portsfile exists for -portable now, those users who don't use
that directly, or use brew, and try and build -portable from git
directly, will likely be at the mercy of ./configure being able to go
off and find the appropriate tools.
Therefore, ./configure *tries* to be smart about handling this, and will
go and check if brew(1) is installed and try and use that to determine
the likely path for where it puts its software.
Indeed, for MacPorts, the story is very different, and although some
users might therfore use --prefix to ./configure to determine this path,
there is an overloaded assumption between --prefix meaning where the
binaries are to be installed, and --prefix meaning "go and look
elsewhere for other applications".
At some point, a dedicated configure option might be required.
Reported by grey and jamsek.
- Commit:
9ffe20fdada0d0603909c9dee12683390d9f8570
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: configure.ac: tidy/add summary
Remove some unneeded comments which were references to files.
Add a quick summary output at the end of ./configure which will aid
with CI debugging.
- Commit:
05345ace5375ae9a980633912315c289c71c9163
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: use a release variable for tarballs
When creating a release tarball, use a GOT_RELEASE variable to determine
the version of the release.
- Commit:
5baa5fe241b3b9bb4bc6f68b06d18ea4094ad579
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: MacOS: harden homebrew checks
When building got-portable for MacOS, don't assume the toolchain
programs are in /usr/local. This used to be true before Apple silicon
existed, but since then the paths have changed.
Instead, ask brew(1) for its prefix (if it's installed), or default to
/usr/local if not.
Noticed by Lucas.
- Commit:
75716fd6ed1a99a0e601b2820363b17d7c0333a7
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: sockets: handle sa_len/ss_len portably
In the sockaddr_storage struct, there can be a ss_len field. This is
seen on some BSDs, but not Linux. Since this isn't POSIX-specific,
there's no guarantee it will be available on all systems.
- Commit:
4b553fec9a9b5b083e5b564787f948254a2dde29
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: configure: fix version string
Older autotools versions need extra coaxing when running external
programs.