gluon-packages/net/fastd/Makefile

156 lines
3.7 KiB
Makefile

#
# Copyright (C) 2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=fastd
PKG_VERSION:=10
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://projects.universe-factory.net/attachments/download/70
PKG_MD5SUM:=fe7f06392d64e2813574e9a4eef729ff
PKG_CONFIG_DEPENDS:=\
CONFIG_FASTD_ENABLE_METHOD_XSALSA20_POLY1305 \
CONFIG_FASTD_ENABLE_METHOD_AES128_GCM \
CONFIG_FASTD_ENABLE_CRYPTO_AES128CTR_NACL \
CONFIG_FASTD_ENABLE_CRYPTO_AES128CTR_LINUX \
CONFIG_FASTD_ENABLE_CRYPTO_GHASH_BUILTIN \
CONFIG_FASTD_ENABLE_CRYPTO_GHASH_LINUX \
CONFIG_FASTD_WITH_CMDLINE_USER \
CONFIG_FASTD_WITH_CMDLINE_LOGGING \
CONFIG_FASTD_WITH_CMDLINE_OPERATION \
CONFIG_FASTD_WITH_CMDLINE_COMMANDS
PKG_BUILD_DEPENDS:=nacl libuecc
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/fastd
SECTION:=net
CATEGORY:=Network
DEPENDS:=+kmod-tun +librt +libpthread
TITLE:=Fast and Secure Tunneling Daemon
URL:=https://projects.universe-factory.net/projects/fastd
SUBMENU:=VPN
endef
define Package/fastd/config
source "$(SOURCE)/Config.in"
endef
CMAKE_OPTIONS += \
-DCMAKE_BUILD_TYPE:String="MINSIZEREL" \
-DWITH_CAPABILITIES=FALSE
ifeq ($(CONFIG_FASTD_ENABLE_METHOD_XSALSA20_POLY1305),y)
CMAKE_OPTIONS += \
-DWITH_METHOD_XSALSA20_POLY1305:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_METHOD_XSALSA20_POLY1305:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_ENABLE_METHOD_AES128_GCM),y)
CMAKE_OPTIONS += \
-DWITH_METHOD_AES128_GCM:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_METHOD_AES128_GCM:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_ENABLE_CRYPTO_AES128CTR_NACL),y)
CMAKE_OPTIONS += \
-DWITH_CRYPTO_AES128CTR_NACL:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_CRYPTO_AES128CTR_NACL:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_ENABLE_CRYPTO_AES128CTR_LINUX),y)
CMAKE_OPTIONS += \
-DWITH_CRYPTO_AES128CTR_LINUX:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_CRYPTO_AES128CTR_LINUX:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_ENABLE_CRYPTO_GHASH_BUILTIN),y)
CMAKE_OPTIONS += \
-DWITH_CRYPTO_GHASH_BUILTIN:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_CRYPTO_GHASH_BUILTIN:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_ENABLE_CRYPTO_GHASH_LINUX),y)
CMAKE_OPTIONS += \
-DWITH_CRYPTO_GHASH_LINUX:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_CRYPTO_GHASH_LINUX:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_WITH_CMDLINE_USER),y)
CMAKE_OPTIONS += \
-DWITH_CMDLINE_USER:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_CMDLINE_USER:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_WITH_CMDLINE_LOGGING),y)
CMAKE_OPTIONS += \
-DWITH_CMDLINE_LOGGING:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_CMDLINE_LOGGING:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_WITH_CMDLINE_OPERATION),y)
CMAKE_OPTIONS += \
-DWITH_CMDLINE_OPERATION:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_CMDLINE_OPERATION:BOOL=FALSE
endif
ifeq ($(CONFIG_FASTD_WITH_CMDLINE_COMMANDS),y)
CMAKE_OPTIONS += \
-DWITH_CMDLINE_COMMANDS:BOOL=TRUE
else
CMAKE_OPTIONS += \
-DWITH_CMDLINE_COMMANDS:BOOL=FALSE
endif
define Package/fastd/description
Fast and secure tunneling daemon, which is optimized on small code size and few dependencies
endef
define Package/fastd/conffiles
/etc/config/fastd
endef
define Package/fastd/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fastd $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) files/fastd.init $(1)/etc/init.d/fastd
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) files/fastd.config $(1)/etc/config/fastd
$(INSTALL_DIR) $(1)/etc/fastd
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
$(INSTALL_DATA) files/fastd.upgrade $(1)/lib/upgrade/keep.d/fastd
endef
$(eval $(call BuildPackage,fastd))