|
# Copyright (C) 2019 Eneas Ulir de Queiroz <cotequeiroz@gmail.com>
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=afalg_engine
|
|
PKG_VERSION:=1.0.1
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://github.com/cotequeiroz/afalg_engine/archive/v$(PKG_VERSION)
|
|
PKG_HASH:=ef3ee1ba3cb4e9145f9a0dea5bc6d3fe6cb7b5b9e68053d474829e84dc1c4988
|
|
|
|
PKG_MAINTAINER:=Eneas U de Queiroz <cotequeiroz@gmail.com>
|
|
PKG_LICENSE:=Apache-2.0
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
PKG_CONFIG_DEPENDS:= CONFIG_AFALG_ZERO_COPY
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
|
|
$(eval $(shell grep "^ENGINES_DIR" "$(TOPDIR)/package/libs/openssl/Makefile"))
|
|
ifeq ($(ENGINES_DIR),)
|
|
ENGINES_DIR:=engines-1.1
|
|
endif
|
|
|
|
define Package/libopenssl-afalg_sync
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
SUBMENU:=SSL
|
|
MDEPENDS:=libopenssl
|
|
TITLE:=AF_ALG engine using sync crypto API
|
|
URL:=https://github.com/cotequeiroz/afalg_engine
|
|
DEPENDS:=libopenssl @OPENSSL_ENGINE @!OPENSSL_ENGINE_BUILTIN_AFALG \
|
|
+libopenssl-conf +kmod-crypto-user
|
|
CONFLICTS:=libopenssl-afalg
|
|
endef
|
|
|
|
define Package/libopenssl-afalg_sync/description
|
|
This is an alternate AF_ALG engine for openssl, based on the devcrypto
|
|
engine, but using the AF_ALG interface instead of /dev/crypto
|
|
|
|
It is different than the AF_ALG engine that ships with OpenSSL:
|
|
- it uses sync calls, instead of async
|
|
- it suports more algorithms
|
|
endef
|
|
|
|
define Package/libopenssl-afalg_sync/config
|
|
config AFALG_ZERO_COPY
|
|
depends on PACKAGE_libopenssl-afalg_sync
|
|
bool "Use Zero-Copy Mode"
|
|
help
|
|
Uses a Zero-Copy interface. Even though it is supposed to improve
|
|
performance, actual measurements indicate otherwise.
|
|
endef
|
|
|
|
CMAKE_OPTIONS += \
|
|
-DOPENSSL_ENGINES_DIR=/usr/lib/$(ENGINES_DIR) \
|
|
-DUSE_ZERO_COPY=$(if $(AFALG_ZERO_COPY),ON,OFF)
|
|
|
|
define Package/libopenssl-afalg_sync/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/$(ENGINES_DIR)
|
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/$(ENGINES_DIR)/afalg.so \
|
|
$(1)/usr/lib/$(ENGINES_DIR)/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libopenssl-afalg_sync))
|