diff --git a/easy-soc-libs/Makefile b/easy-soc-libs/Makefile index 9a0dd7665..4b72fe7a2 100644 --- a/easy-soc-libs/Makefile +++ b/easy-soc-libs/Makefile @@ -72,28 +72,18 @@ endif subdirs := \ $(if $(CONFIG_PACKAGE_libeasy),libeasy) \ - $(if $(CONFIG_PACKAGE_libwifiutils),libwifi) \ - $(if $(CONFIG_PACKAGE_libwifi),libwifi) \ $(if $(CONFIG_PACKAGE_libdsl),libdsl) \ $(if $(CONFIG_PACKAGE_libethernet),libethernet) \ $(if $(CONFIG_PACKAGE_libqos),libqos) -ifneq ($(CONFIG_PACKAGE_libwifi),) -TARGET_CFLAGS +=-DHAS_WIFI -endif - esl-pkgs := \ $(if $(CONFIG_PACKAGE_libeasy),libeasy) \ - $(if $(CONFIG_PACKAGE_libwifiutils),libwifiutils) \ - $(if $(CONFIG_PACKAGE_libwifi),libwifi) \ $(if $(CONFIG_PACKAGE_libdsl),libdsl) \ $(if $(CONFIG_PACKAGE_libethernet),libethernet) \ $(if $(CONFIG_PACKAGE_libqos),libqos) esl-pkgs-all := \ libeasy \ - libwifiutils \ - libwifi \ libdsl \ libethernet \ libqos @@ -122,7 +112,6 @@ endef endif include easy.mk -include wifi.mk include dsl.mk include ethernet.mk include qos.mk diff --git a/easy-soc-libs/wifi.mk b/easy-soc-libs/wifi.mk deleted file mode 100644 index ef061d0c1..000000000 --- a/easy-soc-libs/wifi.mk +++ /dev/null @@ -1,53 +0,0 @@ - -define Package/libwifiutils - $(call Package/easy-soc-libs) - TITLE:= WiFi utility library (libwifiutils.so) - DEPENDS+=+libnl +libnl-route +libeasy -endef - -define Build/InstallDev/libwifiutils - $(INSTALL_DIR) $(1)/usr/include - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/libwifi/wifidefs.h $(1)/usr/include/ - $(CP) $(PKG_BUILD_DIR)/libwifi/wifiutils.h $(1)/usr/include/ - $(CP) $(PKG_BUILD_DIR)/libwifi/libwifiutils*.so* $(1)/usr/lib/ -endef - -define Package/libwifiutils/install - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/libwifi/libwifiutils*.so* $(1)/usr/lib/ -endef - - -define Package/libwifi - $(call Package/easy-soc-libs) - TITLE:= WiFi library (libwifi) - DEPENDS+=+libnl +libnl-route +libeasy +libwifiutils +TARGET_brcmbca:bcmkernel -endef - -define Package/libwifi/config - if PACKAGE_libwifi - config LIBWIFI_DEBUG - depends on PACKAGE_libwifi - bool "Enable debugging in libwifi" - default n - - config LIBWIFI_USE_CTRL_IFACE - bool "Create UNIX sockets to interface with hostapd/wpa_supplicant" - default n - endif -endef - - -define Build/InstallDev/libwifi - $(INSTALL_DIR) $(1)/usr/include - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/libwifi/wifiops.h $(1)/usr/include/ - $(CP) $(PKG_BUILD_DIR)/libwifi/wifi.h $(1)/usr/include/ - $(CP) $(PKG_BUILD_DIR)/libwifi/libwifi-7*.so* $(1)/usr/lib/ -endef - -define Package/libwifi/install - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/libwifi/libwifi-7*.so* $(1)/usr/lib/ -endef diff --git a/libwifi/Makefile b/libwifi/Makefile new file mode 100644 index 000000000..e841f6881 --- /dev/null +++ b/libwifi/Makefile @@ -0,0 +1,160 @@ +# +# Copyright (C) 2020-2023 Iopsys +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libwifi +PKG_VERSION:=7.2.99 + +LOCAL_DEV=0 +ifneq ($(LOCAL_DEV),1) +PKG_SOURCE_PROTO:=git +PKG_SOURCE_VERSION:=1027252b47c31952feb158285b15e9ae09c8049f +PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/libwifi.git +PKG_MAINTAINER:=Anjan Chanda +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_$(PKG_SOURCE_VERSION).tar.xz +PKG_MIRROR_HASH:=skip +endif + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_LICENSE:=GPL-2.0-only +PKG_LICENSE_FILES:=LICENSE + +include $(INCLUDE_DIR)/package.mk + +ifeq ($(CONFIG_TARGET_brcmbca),y) + TARGET_PLATFORM=BROADCOM + TARGET_WIFI_TYPE=BROADCOM + CHIP_ID=$(patsubst "%",%,$(CONFIG_BCM_CHIP_ID)) + TARGET_CFLAGS +=-DIOPSYS_BROADCOM -DCHIP_$(CHIP_ID) -DCONFIG_BCM9$(CHIP_ID) \ + -I$(STAGING_DIR)/usr/include/bcm963xx/bcmdrivers/opensource/include/bcm963xx \ + -I$(STAGING_DIR)/usr/include/bcm963xx/userspace/public/include +else ifeq ($(CONFIG_TARGET_iopsys_x86),y) + TARGET_PLATFORM=TEST + TARGET_WIFI_TYPE=TEST + TARGET_CFLAGS +=-DIOPSYS_TEST +else ifeq ($(CONFIG_TARGET_iopsys_armvirt),y) + TARGET_PLATFORM=TEST + TARGET_WIFI_TYPE=TEST + TARGET_CFLAGS +=-DIOPSYS_TEST +else ifeq ($(CONFIG_TARGET_airoha),y) + TARGET_PLATFORM=ECONET + TARGET_WIFI_TYPE=MEDIATEK MAC80211 + TARGET_CFLAGS +=-DIOPSYS_ECONET +else ifeq ($(CONFIG_TARGET_ipq95xx),y) + TARGET_PLATFORM=IPQ95XX + TARGET_WIFI_TYPE=MAC80211 + TARGET_CFLAGS +=-DIPQ95XX +else ifeq ($(CONFIG_TARGET_iopsys_mediatek),y) + TARGET_PLATFORM=LINUX + TARGET_WIFI_TYPE=MAC80211 + TARGET_CFLAGS +=-DIOPSYS_LINUX +else + $(info Unexpected CONFIG_TARGET, use default MAC80211) + TARGET_PLATFORM=MAC80211 + TARGET_WIFI_TYPE=MAC80211 + TARGET_CFLAGS +=-DIOPSYS_MAC80211 +endif + +ifneq ($(CONFIG_PACKAGE_libwifi),) +TARGET_CFLAGS +=-DHAS_WIFI +endif + +ifeq ($(CONFIG_LIBWIFI_USE_CTRL_IFACE),y) + TARGET_CFLAGS +=-DLIBWIFI_USE_CTRL_IFACE +endif + +TARGET_CFLAGS += \ + -I$(STAGING_DIR)/usr/include \ + -I$(STAGING_DIR)/usr/include/openssl \ + -I$(STAGING_DIR)/usr/include/libnl3 + +MAKE_FLAGS += \ + CFLAGS="$(TARGET_CFLAGS) -Wall -I./" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + FPIC="$(FPIC)" \ + PLATFORM="$(TARGET_PLATFORM)" \ + WIFI_TYPE="$(TARGET_WIFI_TYPE)" \ + subdirs="$(subdirs)" + +ifeq ($(LOCAL_DEV),1) +define Build/Prepare + rsync -r --exclude=.* ~/git/libwifi/ $(PKG_BUILD_DIR)/ +endef +endif + +define Package/libwifi-common + SECTION:=libs + CATEGORY:=Libraries + TITLE:=libwifi + SUBMENU:=IOPSYS easy-soc-libs + DEPENDS:=+libopenssl + MENU:=1 +endef + +define Package/libwifi/description + Library provides WiFi HAL APIs and WiFi common utility functions +endef + +define Package/libwifiutils + $(call Package/libwifi-common) + TITLE:= WiFi utility library (libwifiutils.so) + DEPENDS+=+libnl +libnl-route +libeasy +endef + +define Build/InstallDev/libwifiutils + $(INSTALL_DIR) $(1)/usr/include + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/wifidefs.h $(1)/usr/include/ + $(CP) $(PKG_BUILD_DIR)/wifiutils.h $(1)/usr/include/ + $(CP) $(PKG_BUILD_DIR)/libwifiutils*.so* $(1)/usr/lib/ +endef + +define Package/libwifiutils/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/libwifiutils*.so* $(1)/usr/lib/ +endef + + +define Package/libwifi + $(call Package/libwifi-common) + TITLE:= WiFi library (libwifi) + DEPENDS+=+libnl +libnl-route +libeasy +libwifiutils +TARGET_brcmbca:bcmkernel +endef + +define Package/libwifi/config + if PACKAGE_libwifi + config LIBWIFI_DEBUG + depends on PACKAGE_libwifi + bool "Enable debugging in libwifi" + default n + + config LIBWIFI_USE_CTRL_IFACE + bool "Create UNIX sockets to interface with hostapd/wpa_supplicant" + default n + endif +endef + + +define Build/InstallDev/libwifi + $(INSTALL_DIR) $(1)/usr/include + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/wifiops.h $(1)/usr/include/ + $(CP) $(PKG_BUILD_DIR)/wifi.h $(1)/usr/include/ + $(CP) $(PKG_BUILD_DIR)/libwifi-7*.so* $(1)/usr/lib/ +endef + + +define Build/InstallDev + $(call Build/InstallDev/libwifiutils,$(1),$(2)) + $(call Build/InstallDev/libwifi,$(1),$(2)) +endef + +define Package/libwifi/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/libwifi-7*.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libwifiutils)) +$(eval $(call BuildPackage,libwifi))