2 # Copyright (C) 2021 Michal Hrusecky <michal.hrusecky@turris.com>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
10 PKG_NAME
:=pcapplusplus
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
)-source-linux.
tar.gz
15 PKG_HASH
:=a936aa5b11dcb6d2ad764749d339fc683021bbf8badc1e493e17e61e50a1cbb1
16 PKG_SOURCE_URL
:=https
://github.com
/seladb
/PcapPlusPlus
/releases
/download
/v
$(PKG_VERSION
)/
18 PKG_BUILD_DIR
:=$(BUILD_DIR
)/pcapplusplus-
$(PKG_VERSION
)-source-linux
20 PKG_LICENSE
:=Unlicense
21 PKG_LICENSE_FILES
:=LICENSE
23 include $(INCLUDE_DIR
)/package.mk
25 define Package
/pcapplusplus
28 URL
:=https
://pcapplusplus.github.io
/
29 TITLE
:=Library for getting information about the passing traffic
30 DEPENDS
:=+libpcap
+libstdcpp
34 cd
$(PKG_BUILD_DIR
)/PcapPlusPlus
; .
/configure-linux.sh
--install-dir
/usr
35 make
-C
$(PKG_BUILD_DIR
)/PcapPlusPlus CXXFLAGS
="$(TARGET_CXXFLAGS) -fPIC" CFLAGS
="$(TARGET_CFLAGS) -fPIC" CXX
="$(TARGET_CXX)" CC
="$(TARGET_CC)" AR
=$(TARGET_AR
) libs
38 define Build
/InstallDev
39 $(INSTALL_DIR
) $(1)/usr
/include
40 $(CP
) $(PKG_BUILD_DIR
)/PcapPlusPlus
/Dist
/header
/*.h
$(1)/usr
/include
41 $(INSTALL_DIR
) $(1)/usr
/lib
42 # Convert static libraries to shared ones
43 $(TARGET_CXX
) $(TARGET_CXXFLAGS
) -shared
-o
$(1)/usr
/lib
/libCommon
++.so
-Wl
,--whole-archive
$(PKG_BUILD_DIR
)/PcapPlusPlus
/Dist
/libCommon
++.a
-Wl
,--no-whole-archive
44 $(TARGET_CXX
) $(TARGET_CXXFLAGS
) -shared
-o
$(1)/usr
/lib
/libPacket
++.so
-Wl
,--whole-archive
$(PKG_BUILD_DIR
)/PcapPlusPlus
/Dist
/libPacket
++.a
-Wl
,--no-whole-archive
45 $(TARGET_CXX
) $(TARGET_CXXFLAGS
) -shared
-o
$(1)/usr
/lib
/libPcap
++.so
-Wl
,--whole-archive
$(PKG_BUILD_DIR
)/PcapPlusPlus
/Dist
/libPcap
++.a
-Wl
,--no-whole-archive
46 $(CP
) $(PKG_BUILD_DIR
)/PcapPlusPlus
/Dist
/lib
*.a
$(1)/usr
/lib
49 define Package
/pcapplusplus
/install
50 $(INSTALL_DIR
) $(1)/usr
/lib
51 # Convert static libraries to shared ones
52 $(TARGET_CXX
) $(TARGET_CXXFLAGS
) -shared
-o
$(1)/usr
/lib
/libCommon
++.so
-Wl
,--whole-archive
$(PKG_BUILD_DIR
)/PcapPlusPlus
/Dist
/libCommon
++.a
-Wl
,--no-whole-archive
53 $(TARGET_CXX
) $(TARGET_CXXFLAGS
) -shared
-o
$(1)/usr
/lib
/libPacket
++.so
-Wl
,--whole-archive
$(PKG_BUILD_DIR
)/PcapPlusPlus
/Dist
/libPacket
++.a
-Wl
,--no-whole-archive
54 $(TARGET_CXX
) $(TARGET_CXXFLAGS
) -shared
-o
$(1)/usr
/lib
/libPcap
++.so
-Wl
,--whole-archive
$(PKG_BUILD_DIR
)/PcapPlusPlus
/Dist
/libPcap
++.a
-Wl
,--no-whole-archive
57 $(eval
$(call BuildPackage
,pcapplusplus
))