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 with2bb26c1a1d
(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 reverted2bb26c1a1d
with6cfb4ad7f7
. 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>
129 lines
3.8 KiB
Plaintext
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
|