libpcap: build with cmake
[openwrt/openwrt.git] / package / libs / libpcap / Makefile
index fae955a54daf144c94f3dac4c24dfdf8946aea23..69af9d070066edb4d9f0839976eedabc85de6a51 100644 (file)
@@ -9,22 +9,23 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libpcap
 PKG_VERSION:=1.9.1
 
 PKG_NAME:=libpcap
 PKG_VERSION:=1.9.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.us.tcpdump.org/release/ \
         http://www.tcpdump.org/release/
 PKG_HASH:=635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.us.tcpdump.org/release/ \
         http://www.tcpdump.org/release/
 PKG_HASH:=635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094
-PKG_FIXUP:=patch-libtool
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 
-PKG_INSTALL:=1
+CMAKE_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
 PKG_BUILD_PARALLEL:=1
+
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
 
 include $(INCLUDE_DIR)/package.mk
 
 include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/kernel.mk
+include $(INCLUDE_DIR)/cmake.mk
 
 define Package/libpcap
   SECTION:=libs
 
 define Package/libpcap
   SECTION:=libs
@@ -44,55 +45,30 @@ define Package/libpcap/config
        source "$(SOURCE)/Config.in"
 endef
 
        source "$(SOURCE)/Config.in"
 endef
 
-TARGET_CFLAGS += \
-       -ffunction-sections \
-       -fdata-sections
-
-CONFIGURE_VARS += \
-       ac_cv_linux_vers=$(LINUX_VERSION) \
-       ac_cv_header_libusb_1_0_libusb_h=no
-
-ifeq ($(CONFIG_PCAP_HAS_NETFILTER),)
-CONFIGURE_VARS += \
-       ac_cv_netfilter_can_compile=no
-endif
-
-CONFIGURE_ARGS += \
-       --enable-shared \
-       --disable-yydebug \
-       --with-pcap=linux \
-       --without-septel \
-       --without-dag \
-       --without-libnl \
-       --without-snf \
-       --disable-can \
-       --disable-canusb \
-       --disable-dbus \
-       --disable-bluetooth
-
-ifeq ($(CONFIG_IPV6),y)
-CONFIGURE_ARGS += \
-       --enable-ipv6
-endif
-
-MAKE_FLAGS += \
-       CCOPT="$(TARGET_CFLAGS) -I$(BUILD_DIR)/linux/include"
-
-define Build/Configure
-       $(call Build/Configure/Default)
-       $(if $(CONFIG_PCAP_HAS_USB),,$(SED) '/^#define PCAP_SUPPORT_USB/D' $(PKG_BUILD_DIR)/config.h)
-       $(if $(CONFIG_PCAP_HAS_USB),,$(SED) 's/pcap-usb-linux.c *//' $(PKG_BUILD_DIR)/Makefile)
-       $(if $(CONFIG_PCAP_HAS_BT),,$(SED) '/^#define PCAP_SUPPORT_BT/D' $(PKG_BUILD_DIR)/config.h)
-       $(if $(CONFIG_PCAP_HAS_BT),,$(SED) 's/pcap-bt-linux.c *//' $(PKG_BUILD_DIR)/Makefile)
-endef
-
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/pcap* $(1)/usr/include/
-
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpcap.{a,so*} $(1)/usr/lib/
-endef
+CMAKE_OPTIONS += \
+       -DBUILD_SHARED_LIBS=ON \
+       -DBUILD_WITH_LIBNL=OFF \
+
+# grep 'option(DISABLE_' CMakeLists.txt | cut -f2 -d'(' | cut -f1 -d' ' | sort --unique
+CMAKE_OPTIONS += \
+       -DDISABLE_DAG=ON \
+       -DDISABLE_DBUS=ON \
+       -DDISABLE_NETMAP=ON \
+       -DDISABLE_RDMA=ON \
+       -DDISABLE_SEPTEL=ON \
+       -DDISABLE_SNF=ON \
+       -DDISABLE_TC=ON \
+
+# Debugging options
+CMAKE_OPTIONS += \
+       -DBDEBUG=OFF \
+       -DYYDEBUG=OFF \
+
+CMAKE_OPTIONS += $(if $(CONFIG_PCAP_HAS_USB)       ,,-DDISABLE_USB=ON)
+CMAKE_OPTIONS += $(if $(CONFIG_PCAP_HAS_BT)        ,,-DDISABLE_BLUETOOTH=ON)
+CMAKE_OPTIONS += $(if $(CONFIG_PCAP_HAS_NETFILTER) ,,-DPCAP_SUPPORT_NETFILTER=OFF)
+
+CMAKE_OPTIONS += $(if $(CONFIG_IPV6),-DINET6=ON,-DINET6=OFF)
 
 define Package/libpcap/install
        $(INSTALL_DIR) $(1)/usr/lib
 
 define Package/libpcap/install
        $(INSTALL_DIR) $(1)/usr/lib