blob: 6d6a4adb43423b6b7594094256d33ae2f79c55b2 [file] [log] [blame]
#
# 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