| # |
| # netlink.inc for dhd/exe |
| # |
| # Copyright (c) 2013, Broadcom Corp. |
| # $Id: netlink.inc 454524 2014-02-11 01:45:50Z $ |
| |
| ifdef NL80211 |
| |
| ifneq ($(findstring android,$(TARGETENV)),) |
| |
| include $(dir $(lastword $(MAKEFILE_LIST)))/../../makefiles/WLAN_Common.mk |
| |
| ifeq ($(NLHEADERS_PATH),) |
| $(error libnl headers path must be specified) |
| endif |
| ifeq ($(NLSTATICLIB_PATH),) |
| $(error libnl static library path must be specified) |
| endif |
| |
| CFLAGS += -I$(NLHEADERS_PATH) |
| LIBS += -Wl,--whole-archive -Wl,--no-whole-archive $(NLSTATICLIB_PATH) |
| |
| LIBNLVER = $(shell grep "LIBNL_VERSION" $(NLHEADERS_PATH)/netlink/version.h | cut -d " " -f 3 | sed "s/\"//g") |
| |
| ifeq ($(call wlan_version_ge,$(LIBNLVER),3.0),TRUE) |
| CFLAGS += -DCONFIG_LIBNL30 |
| else ifeq ($(call wlan_version_ge,$(LIBNLVER),2.0),TRUE) |
| CFLAGS += -DCONFIG_LIBNL20 |
| endif |
| |
| else #ifneq ($(findstring android,$(TARGETENV)),) |
| |
| PKG_CONFIG ?= pkg-config |
| |
| NL1FOUND := $(shell $(PKG_CONFIG) --atleast-version=1 libnl-1 && echo Y) |
| NL2FOUND := $(shell $(PKG_CONFIG) --atleast-version=2 libnl-2.0 && echo Y) |
| NL3FOUND := $(shell $(PKG_CONFIG) --atleast-version=3 libnl-3.0 && echo Y) |
| NL31FOUND := $(shell $(PKG_CONFIG) --exact-version=3.1 libnl-3.1 && echo Y) |
| NL3xFOUND := $(shell $(PKG_CONFIG) --atleast-version=3.2 libnl-3.0 && echo Y) |
| |
| $(sh echo "what to do") |
| |
| ifeq ($(NL1FOUND),Y) |
| NLLIBNAME = libnl-1 |
| endif |
| |
| ifeq ($(NL2FOUND),Y) |
| CFLAGS += -DCONFIG_LIBNL20 |
| LIBS += -lnl-genl |
| NLLIBNAME = libnl-2.0 |
| endif |
| |
| ifeq ($(NL3xFOUND),Y) |
| # libnl 3.2 might be found as 3.2 and 3.0 |
| NL3FOUND = N |
| CFLAGS += -DCONFIG_LIBNL30 |
| LIBS += -lnl-genl-3 |
| NLLIBNAME = libnl-3.0 |
| endif |
| |
| ifeq ($(NL3FOUND),Y) |
| CFLAGS += -DCONFIG_LIBNL30 |
| LIBS += -lnl-genl |
| NLLIBNAME = libnl-3.0 |
| endif |
| |
| # nl-3.1 has a broken libnl-gnl-3.1.pc file |
| # as show by pkg-config --debug --libs --cflags --exact-version=3.1 libnl-genl-3.1;echo $? |
| ifeq ($(NL31FOUND),Y) |
| CFLAGS += -DCONFIG_LIBNL30 |
| LIBS += -lnl-genl |
| NLLIBNAME = libnl-3.1 |
| endif |
| |
| ifeq ($(NLLIBNAME),) |
| $(error Cannot find development files for any supported version of libnl) |
| endif |
| |
| LIBS += $(shell $(PKG_CONFIG) --libs $(NLLIBNAME)) |
| CFLAGS += $(shell $(PKG_CONFIG) --cflags $(NLLIBNAME)) |
| |
| endif #ifneq ($(findstring android,$(TARGETENV)),) |
| |
| ifeq ($(BUILD_TAG),TRUNK) |
| DHD_OBJS += $(TARGETARCH)/dhdu_nl80211.o |
| else |
| DHD_OBJS += dhdu_nl80211.o |
| endif |
| |
| endif # NL80211 |