]> sigrok.org Git - libsigrok.git/commit
configure: differ between check and yes/no
authorErik Schilling <redacted>
Fri, 12 Jan 2024 13:38:31 +0000 (14:38 +0100)
committerSoeren Apel <redacted>
Sat, 19 Oct 2024 10:51:03 +0000 (12:51 +0200)
commit8b91b88a532cdbec2ba1fc7ca9737be80d85da14
tree81d1d6dbe8a31b8efe2cfd2bbe28b38f26793b61
parent47a98d305c6ad9b38c302618d864f1e77e9f036a
configure: differ between check and yes/no

So far one could only specify yes/no (optionally for all drivers through
--enable-all-drivers={yes,no}). However, even when stating a =yes, the
dependency check would override it to a =no if the dependencies are
missing.

This is a bit annoying for scripts since a script may specify
--enable-foo-driver=yes but in fact the build may not contain
`foo-driver` due to missing build dependencies. This is especially
problematic for distro's which look like they currently do not build a
defined driver set - which results in random drivers missing [1].

This fixes that by following the autoconf examples [2] that allow a third
state `check`. With that `no` means no, `yes` means yes (raise an error
if deps are unavailable) and `check` gracefully disables drivers with
unavailable dependencies.

With that --enable-all-drivers can be used to ensure that all drivers are
built in. Certain drivers can still be explicitly disabled by overriding
the individual driver setting.

This way distros can specify --enable-all-drivers and new drivers with
unmet dependencies will cause an error rather than silently getting
dropped of the build.

[1] https://sigrok.org/bugzilla/show_bug.cgi?id=1699
[2] https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/External-Software.html#External-Software

To: sigrok-devel@lists.sourceforge.net
Cc: Daniel Thompson <redacted>
configure.ac