kumquat-buildroot/package/wpa_supplicant/Config.in
Yann E. MORIN c72be5dd2f package/libopenssl does not support riscv32
riscv32 is (surprise!) a 32-bit architecture. But it has been Y2038-safe
from its inception. As such, there are no legacy binaries that may use
the 32-bit time syscalls, and thus they are not available on riscv32.

Code that directly calls to the syscalls without using the C libraries
wrappers thus need to handle this case by themselves. That's what
upstream tried to do with:
    5b5e2985f3

We initially carried that patch with 2bb26c1a1d (package/libopenssl:
fix build on riscv32).

However, as Arnd Bergmann puts it [0]:

    The patch looks wrong to me: __NR_io_pgetevents_time64 must be used
    whenever time_t is 64-bit wide on a 32-bit architecture, while
    __NR_io_getevents/__NR_io_pgetevents must be used when time_t is the
    same width as 'long'.

    Checking whether __NR_io_getevents is defined is wrong for all
    architectures other than riscv

And Arnd agrees that patch should be reverted [1] [2] (there are further
comments in that stream, that are worth reading).

As such, we've reverted 2bb26c1a1d with 6cfb4ad7f7.

This means we have no working solution to enable openssl on riscv32 for
now. So, rather than fail the build, or backport a dysfunctional patch,
let's just forbid openssl on riscv32.

Drop the default from the choice selection; it was anyway superfluous:
the default of a choice, if left unspecified, is the first entry of the
choice. Also, having a default means we'd have to also propagate the
dependencies of the defaulted-to symbol, which is yet a little bit more
maintenance. Since the chances we get a third implementation of openssl
are pretty slim (very, very slim), reasoning about what is the default
is still very easy.

When propagating dependencies to tpm2-tss' users, we've tried to keep
the architecture dependency toward the top when possible, and otherwise
we've added it together with existing arch dependencies (MMU).

While at it, drop a useless redundant comment in ibm-sw-tpm2: if we
select FORCE_LIBOPENSSL, it is obvious that's because libressl is not
supported... Besides none of the other users of FORCE_LIBOPENSSL have
such a comment.

Fixes:
    http://autobuild.buildroot.org/results/eb9/eb9a64d4ffae8569b5225083f282cf87ffa7c681/
    ...
    http://autobuild.buildroot.org/results/07e/07e413b24ba8adc9558c80267ce16dda339bf032/

[0] 5b5e2985f3 (commitcomment-44782859)
[1] 5b5e2985f3 (commitcomment-47826509)
[2] 5b5e2985f3 (commitcomment-47830530)

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Matthew Weber <matthew.weber@rockwellcollins.com>
Cc: Mark Corbin <mark@dibsco.co.uk>
2021-03-04 22:53:08 +01:00

129 lines
3.8 KiB
Plaintext

config BR2_PACKAGE_WPA_SUPPLICANT
bool "wpa_supplicant"
depends on BR2_USE_MMU # fork()
help
WPA supplicant for secure wireless networks
http://w1.fi/wpa_supplicant/
if BR2_PACKAGE_WPA_SUPPLICANT
config BR2_PACKAGE_WPA_SUPPLICANT_NL80211
bool "Enable nl80211 support"
default y
depends on BR2_TOOLCHAIN_HAS_THREADS # libnl
select BR2_PACKAGE_LIBNL
help
Enable support for nl80211. This is the current wireless
API for Linux, supported by all wireless drivers in vanilla
Linux, but may not be supported by some out-of-tree Linux
wireless drivers. wpa_supplicant will still fall back to
using the Wireless Extensions (wext) API with these drivers.
If this option is disabled, then only the deprecated wext
API will be supported, with far less features. Linux may
supports using wext with modern drivers using a
compatibility layer, but it must be enabled in the kernel
configuration.
comment "nl80211 support needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT
bool "Enable AP mode"
depends on BR2_PACKAGE_WPA_SUPPLICANT_NL80211
help
With this option enabled, wpa_supplicant can act as an
access point much like hostapd does with a limited feature
set. This links in parts of hostapd functionality into
wpa_supplicant, making it bigger but dispensing the need for
a separate hostapd binary in some applications hence being
smaller overall.
config BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY
bool "Enable Wi-Fi Display"
depends on BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT
help
Enable support for Wi-Fi Display
config BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING
bool "Enable mesh networking"
depends on BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT
depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
help
Enable support for open and secured mesh networking
(IEEE 802.11s)
config BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN
bool "Enable autoscan"
help
Enable support for the autoscan feature (allow periodic scan)
config BR2_PACKAGE_WPA_SUPPLICANT_EAP
bool "Enable EAP"
help
Enable support for EAP.
config BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT
bool "Enable HS20"
help
Enable Hotspot 2.0 and IEEE 802.11u interworking
functionality.
config BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG
bool "Enable syslog support"
help
Enable support for sending debug messages to syslog.
config BR2_PACKAGE_WPA_SUPPLICANT_WPS
bool "Enable WPS"
help
Enable support for Wi-Fi Protected Setup (WPS).
config BR2_PACKAGE_WPA_SUPPLICANT_WPA3
bool "Enable WPA3 support"
depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
help
Enable WPA3 support including OWE, SAE, DPP
config BR2_PACKAGE_WPA_SUPPLICANT_CLI
bool "Install wpa_cli binary"
help
Install wpa_cli command line utility
config BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO
bool "Install wpa_client shared library"
depends on !BR2_STATIC_LIBS
help
Install libwpa_client.so.
comment "wpa_client library needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE
bool "Install wpa_passphrase binary"
help
Install wpa_passphrase command line utility.
config BR2_PACKAGE_WPA_SUPPLICANT_DBUS
bool "Enable support for the DBus control interface"
depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
select BR2_PACKAGE_DBUS
help
Enable support for the DBus control interface.
comment "dbus support needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION
bool "Introspection support"
depends on BR2_PACKAGE_WPA_SUPPLICANT_DBUS
help
Add introspection support for new DBus control interface.
endif