hostapd: fix static build failure
libnl-3 uses threads and this isn't accounted for in hostapd (or libnl-3*.pc files for that matter - hostapd doesn't use pkg-config anyway). Since linking order matters for static scenarios also throw in -lnl-3 into LIBS first since it gets appended to in hostapd makefiles to add libnl-3. Fixes: http://autobuild.buildroot.net/results/d4a/d4a9f44effeb08eda6c4b32764274ae81d185d5e/ Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
cf4ec89bfb
commit
f62a1d887a
|
@ -10,13 +10,14 @@ HOSTAPD_SUBDIR = hostapd
|
|||
HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config
|
||||
HOSTAPD_DEPENDENCIES = libnl
|
||||
HOSTAPD_CFLAGS = $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/
|
||||
HOSTAPD_LDFLAGS = $(TARGET_LDFLAGS)
|
||||
HOSTAPD_LICENSE = GPLv2/BSD-3c
|
||||
HOSTAPD_LICENSE_FILES = README
|
||||
|
||||
# libnl needs -lm (for rint) if linking statically
|
||||
# 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 hostapd Makefiles as in LIBS+=-lnl-3 ... thus failing
|
||||
ifeq ($(BR2_PREFER_STATIC_LIB),y)
|
||||
HOSTAPD_LDFLAGS += -lm
|
||||
HOSTAPD_LIBS += -lnl-3 -lm -lpthread
|
||||
endif
|
||||
|
||||
define HOSTAPD_LIBNL_CONFIG
|
||||
|
@ -93,7 +94,7 @@ endef
|
|||
|
||||
define HOSTAPD_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) CFLAGS="$(HOSTAPD_CFLAGS)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" LIBS="$(HOSTAPD_LIBS)" \
|
||||
$(MAKE) CC="$(TARGET_CC)" -C $(@D)/$(HOSTAPD_SUBDIR)
|
||||
endef
|
||||
|
||||
|
|
Loading…
Reference in a new issue