* [Buildroot] [PATCH 1/3] hostapd: fix static linking
@ 2014-03-04 13:35 Gustavo Zacarias
2014-03-04 13:35 ` [Buildroot] [PATCH 2/3] wpa_supplicant: " Gustavo Zacarias
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Gustavo Zacarias @ 2014-03-04 13:35 UTC (permalink / raw)
To: buildroot
A rebase of Samuel Martin's http://patchwork.ozlabs.org/patch/312320/
hostapd doesn't use pkg-config and upstream likely wouldn't take a patch
to do so (hostapd/wpa_supplicant are used in android builds, and it
doesn't use any auto* stuff either) so pass it in LIBS since we
always build openssl with libz support.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
package/hostapd/hostapd.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk
index 37de60d..5b7dd77 100644
--- a/package/hostapd/hostapd.mk
+++ b/package/hostapd/hostapd.mk
@@ -43,6 +43,7 @@ endif
# Try to use openssl if it's already available
ifeq ($(BR2_PACKAGE_OPENSSL),y)
HOSTAPD_DEPENDENCIES += openssl
+ HOSTAPD_LIBS += $(if $(BR2_PREFER_STATIC_LIB),-lcrypto -lz)
HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/'
else
HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD
--
1.8.3.2
^ permalink raw reply related [flat|nested] 4+ messages in thread* [Buildroot] [PATCH 2/3] wpa_supplicant: fix static linking 2014-03-04 13:35 [Buildroot] [PATCH 1/3] hostapd: fix static linking Gustavo Zacarias @ 2014-03-04 13:35 ` Gustavo Zacarias 2014-03-04 13:35 ` [Buildroot] [PATCH 3/3] wpa_supplicant: add fix for WPS NFC support Gustavo Zacarias 2014-03-04 18:35 ` [Buildroot] [PATCH 1/3] hostapd: fix static linking Thomas Petazzoni 2 siblings, 0 replies; 4+ messages in thread From: Gustavo Zacarias @ 2014-03-04 13:35 UTC (permalink / raw) To: buildroot wpa_supplicant doesn't use pkg-config and upstream likely wouldn't take a patch to do so (hostapd/wpa_supplicant are used in android builds, and it doesn't use any auto* stuff either) so pass it in LIBS* since we always build openssl with libz support. Made ugly by the fact that wpa_supplicant uses LIBS for the wpa_supplicant binary, LIBS_c for the wpa_cli binary and LIBS_p for the wpa_passphrase binary. Also do f62a1d887aee642593b3f9507d6f3ebcd82219d0 here too since it applies when libnl is used. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> --- package/wpa_supplicant/wpa_supplicant.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index 17788cc..3802033 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -29,7 +29,13 @@ WPA_SUPPLICANT_CONFIG_ENABLE = \ WPA_SUPPLICANT_CONFIG_DISABLE = \ CONFIG_SMARTCARD +# libnl-3 needs -lm (for rint) and -lpthread if linking statically +# And library order matters hence stick -lnl-3 first since it's appended +# in the wpa_supplicant Makefiles as in LIBS+=-lnl-3 ... thus failing ifeq ($(BR2_PACKAGE_LIBNL),y) +ifeq ($(BR2_PREFER_STATIC_LIB),y) + WPA_SUPPLICANT_LIBS += -lnl-3 -lm -lpthread +endif WPA_SUPPLICANT_DEPENDENCIES += libnl WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_LIBNL32 else @@ -57,6 +63,7 @@ endif # Try to use openssl if it's already available ifeq ($(BR2_PACKAGE_OPENSSL),y) WPA_SUPPLICANT_DEPENDENCIES += openssl + WPA_SUPPLICANT_LIBS += $(if $(BR2_PREFER_STATIC_LIB),-lcrypto -lz) WPA_SUPPLICANT_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' else WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_EAP_PWD @@ -108,9 +115,12 @@ define WPA_SUPPLICANT_CONFIGURE_CMDS $(WPA_SUPPLICANT_CONFIG) endef +# LIBS for wpa_supplicant, LIBS_c for wpa_cli, LIBS_p for wpa_passphrase define WPA_SUPPLICANT_BUILD_CMDS $(TARGET_MAKE_ENV) CFLAGS="$(WPA_SUPPLICANT_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" BINDIR=/usr/sbin \ + LIBS="$(WPA_SUPPLICANT_LIBS)" LIBS_c="$(WPA_SUPPLICANT_LIBS)" \ + LIBS_p="$(WPA_SUPPLICANT_LIBS)" \ $(MAKE) CC="$(TARGET_CC)" -C $(@D)/$(WPA_SUPPLICANT_SUBDIR) endef -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 3/3] wpa_supplicant: add fix for WPS NFC support 2014-03-04 13:35 [Buildroot] [PATCH 1/3] hostapd: fix static linking Gustavo Zacarias 2014-03-04 13:35 ` [Buildroot] [PATCH 2/3] wpa_supplicant: " Gustavo Zacarias @ 2014-03-04 13:35 ` Gustavo Zacarias 2014-03-04 18:35 ` [Buildroot] [PATCH 1/3] hostapd: fix static linking Thomas Petazzoni 2 siblings, 0 replies; 4+ messages in thread From: Gustavo Zacarias @ 2014-03-04 13:35 UTC (permalink / raw) To: buildroot WPS NFC support wouldn't build properly unless AP mode was enabled. Add upstream fix to correct this and enable NFC support. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> --- ...NFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch | 121 +++++++++++++++++++++ package/wpa_supplicant/wpa_supplicant.mk | 1 - 2 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 package/wpa_supplicant/wpa_supplicant-0001-Fix-CONFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch diff --git a/package/wpa_supplicant/wpa_supplicant-0001-Fix-CONFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch b/package/wpa_supplicant/wpa_supplicant-0001-Fix-CONFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch new file mode 100644 index 0000000..946011c --- /dev/null +++ b/package/wpa_supplicant/wpa_supplicant-0001-Fix-CONFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch @@ -0,0 +1,121 @@ +From 88853aedf6cc4a152442b5bb2c4946683df6ff66 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen <j@w1.fi> +Date: Thu, 13 Feb 2014 15:29:09 +0200 +Subject: [PATCH] Fix CONFIG_WPS_NFC=y build without CONFIG_P2P=y + +Some of the control interface operations for P2P were not properly +protected with #ifdef CONFIG_P2P. + +Signed-off-by: Jouni Malinen <j@w1.fi> +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> +--- + wpa_supplicant/ctrl_iface.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c +index ddddad3..ed332da 100644 +--- a/wpa_supplicant/ctrl_iface.c ++++ b/wpa_supplicant/ctrl_iface.c +@@ -951,6 +951,7 @@ static int wpas_ctrl_nfc_get_handover_req_wps(struct wpa_supplicant *wpa_s, + } + + ++#ifdef CONFIG_P2P + static int wpas_ctrl_nfc_get_handover_req_p2p(struct wpa_supplicant *wpa_s, + char *reply, size_t max_len, + int ndef) +@@ -973,6 +974,7 @@ static int wpas_ctrl_nfc_get_handover_req_p2p(struct wpa_supplicant *wpa_s, + + return res; + } ++#endif /* CONFIG_P2P */ + + + static int wpas_ctrl_nfc_get_handover_req(struct wpa_supplicant *wpa_s, +@@ -1001,10 +1003,12 @@ static int wpas_ctrl_nfc_get_handover_req(struct wpa_supplicant *wpa_s, + wpa_s, reply, max_len, ndef); + } + ++#ifdef CONFIG_P2P + if (os_strcmp(pos, "P2P-CR") == 0) { + return wpas_ctrl_nfc_get_handover_req_p2p( + wpa_s, reply, max_len, ndef); + } ++#endif /* CONFIG_P2P */ + + return -1; + } +@@ -1032,6 +1036,7 @@ static int wpas_ctrl_nfc_get_handover_sel_wps(struct wpa_supplicant *wpa_s, + } + + ++#ifdef CONFIG_P2P + static int wpas_ctrl_nfc_get_handover_sel_p2p(struct wpa_supplicant *wpa_s, + char *reply, size_t max_len, + int ndef, int tag) +@@ -1052,6 +1057,7 @@ static int wpas_ctrl_nfc_get_handover_sel_p2p(struct wpa_supplicant *wpa_s, + + return res; + } ++#endif /* CONFIG_P2P */ + + + static int wpas_ctrl_nfc_get_handover_sel(struct wpa_supplicant *wpa_s, +@@ -1084,6 +1090,7 @@ static int wpas_ctrl_nfc_get_handover_sel(struct wpa_supplicant *wpa_s, + os_strcmp(pos, "WPS-CR") == 0, pos2); + } + ++#ifdef CONFIG_P2P + if (os_strcmp(pos, "P2P-CR") == 0) { + return wpas_ctrl_nfc_get_handover_sel_p2p( + wpa_s, reply, max_len, ndef, 0); +@@ -1093,6 +1100,7 @@ static int wpas_ctrl_nfc_get_handover_sel(struct wpa_supplicant *wpa_s, + return wpas_ctrl_nfc_get_handover_sel_p2p( + wpa_s, reply, max_len, ndef, 1); + } ++#endif /* CONFIG_P2P */ + + return -1; + } +@@ -1160,6 +1168,7 @@ static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s, + struct wpabuf *req, *sel; + int ret; + char *pos, *role, *type, *pos2; ++#ifdef CONFIG_P2P + char *freq; + int forced_freq = 0; + +@@ -1169,6 +1178,7 @@ static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s, + freq += 6; + forced_freq = atoi(freq); + } ++#endif /* CONFIG_P2P */ + + role = cmd; + pos = os_strchr(role, ' '); +@@ -1237,11 +1247,14 @@ static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s, + + if (os_strcmp(role, "INIT") == 0 && os_strcmp(type, "WPS") == 0) { + ret = wpas_wps_nfc_report_handover(wpa_s, req, sel); ++#ifdef CONFIG_AP + } else if (os_strcmp(role, "RESP") == 0 && os_strcmp(type, "WPS") == 0) + { + ret = wpas_ap_wps_nfc_report_handover(wpa_s, req, sel); + if (ret < 0) + ret = wpas_er_wps_nfc_report_handover(wpa_s, req, sel); ++#endif /* CONFIG_AP */ ++#ifdef CONFIG_P2P + } else if (os_strcmp(role, "INIT") == 0 && os_strcmp(type, "P2P") == 0) + { + ret = wpas_p2p_nfc_report_handover(wpa_s, 1, req, sel, 0); +@@ -1249,6 +1262,7 @@ static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s, + { + ret = wpas_p2p_nfc_report_handover(wpa_s, 0, req, sel, + forced_freq); ++#endif /* CONFIG_P2P */ + } else { + wpa_printf(MSG_DEBUG, "NFC: Unsupported connection handover " + "reported: role=%s type=%s", role, type); +-- +1.8.3.2 + diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk index 3802033..9fcda2e 100644 --- a/package/wpa_supplicant/wpa_supplicant.mk +++ b/package/wpa_supplicant/wpa_supplicant.mk @@ -57,7 +57,6 @@ endif ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WPS),y) WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_WPS - WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_WPS_NFC endif # Try to use openssl if it's already available -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH 1/3] hostapd: fix static linking 2014-03-04 13:35 [Buildroot] [PATCH 1/3] hostapd: fix static linking Gustavo Zacarias 2014-03-04 13:35 ` [Buildroot] [PATCH 2/3] wpa_supplicant: " Gustavo Zacarias 2014-03-04 13:35 ` [Buildroot] [PATCH 3/3] wpa_supplicant: add fix for WPS NFC support Gustavo Zacarias @ 2014-03-04 18:35 ` Thomas Petazzoni 2 siblings, 0 replies; 4+ messages in thread From: Thomas Petazzoni @ 2014-03-04 18:35 UTC (permalink / raw) To: buildroot Dear Gustavo Zacarias, On Tue, 4 Mar 2014 10:35:11 -0300, Gustavo Zacarias wrote: > A rebase of Samuel Martin's http://patchwork.ozlabs.org/patch/312320/ > hostapd doesn't use pkg-config and upstream likely wouldn't take a patch > to do so (hostapd/wpa_supplicant are used in android builds, and it > doesn't use any auto* stuff either) so pass it in LIBS since we > always build openssl with libz support. > > Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> > --- > package/hostapd/hostapd.mk | 1 + > 1 file changed, 1 insertion(+) All three patches applied, thanks. Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-03-04 18:35 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-03-04 13:35 [Buildroot] [PATCH 1/3] hostapd: fix static linking Gustavo Zacarias 2014-03-04 13:35 ` [Buildroot] [PATCH 2/3] wpa_supplicant: " Gustavo Zacarias 2014-03-04 13:35 ` [Buildroot] [PATCH 3/3] wpa_supplicant: add fix for WPS NFC support Gustavo Zacarias 2014-03-04 18:35 ` [Buildroot] [PATCH 1/3] hostapd: fix static linking Thomas Petazzoni
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).