openssl: make engines support dynamically configurable (based on a patch by puchu)
authorFelix Fietkau <nbd@openwrt.org>
Thu, 28 Jan 2010 19:28:06 +0000 (19:28 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 28 Jan 2010 19:28:06 +0000 (19:28 +0000)
SVN-Revision: 19371

package/kernel/modules/crypto.mk
package/openssl/Config.in [new file with mode: 0644]
package/openssl/Makefile
package/ubsec_ssb/Makefile

index 818a1d090c71e78f9d35f00c91d2e20864889225..879fa969f96dc6d1d551ee183a3559ad59625c34 100644 (file)
@@ -280,7 +280,7 @@ $(eval $(call KernelPackage,crypto-misc))
 
 
 define KernelPackage/crypto-ocf
-$(call KernelPackage/crypto/Depends,@!TARGET_uml)
+$(call KernelPackage/crypto/Depends,@!TARGET_uml +@OPENSSL_ENGINE)
   TITLE:=OCF modules
   KCONFIG:= \
        CONFIG_OCF_OCF \
diff --git a/package/openssl/Config.in b/package/openssl/Config.in
new file mode 100644 (file)
index 0000000..96cba49
--- /dev/null
@@ -0,0 +1,9 @@
+# OpenSSL configuration
+
+if PACKAGE_libopenssl
+
+config OPENSSL_ENGINE
+       bool
+       prompt "Crypto acceleration support"
+
+endif
index ac565218da10f6663faf2e53c75c6ffa2471837d..2d2a9404996e4b42c74198d27e36eed05c99b760 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openssl
 PKG_VERSION:=0.9.8l
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.openssl.org/source/ \
@@ -18,7 +18,8 @@ PKG_SOURCE_URL:=http://www.openssl.org/source/ \
        ftp://ftp.sunet.se/pub/security/tools/net/openssl/source/
 PKG_MD5SUM:=05a0ece1372392a2cf310ebb96333025
 
-PKG_BUILD_DEPENDS:=ocf-crypto-headers
+PKG_BUILD_DEPENDS := ocf-crypto-headers
+PKG_CONFIG_DEPENDS := CONFIG_OPENSSL_ENGINE
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -27,6 +28,10 @@ define Package/openssl/Default
   URL:=http://www.openssl.org/
 endef
 
+define Package/libopenssl/config
+source "$(SOURCE)/Config.in"
+endef
+
 define Package/openssl/Default/description
  The OpenSSL Project is a collaborative effort to develop a robust,
  commercial-grade, full-featured, and Open Source toolkit implementing the
@@ -69,13 +74,14 @@ endef
 
 OPENSSL_NO_CIPHERS:= no-idea no-md2 no-mdc2 no-rc5 no-sha0 no-smime \
                                        no-rmd160 no-aes192 no-ripemd no-camellia no-ans1 no-krb5
-ifeq ($(BOARD),ixp4xx)
-OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic \
-                                       no-sse2 --with-cryptodev
+OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic no-sse2
+
+ifdef CONFIG_OPENSSL_ENGINE
+  OPENSSL_OPTIONS += --with-cryptodev
 else
-OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic \
-                                       no-engines no-sse2
+  OPENSSL_OPTIONS += no-engines
 endif
+
 ifdef CONFIG_arm
 OPENSSL_MAKEFLAGS := AES_ASM_OBJ="aes-armv4.o aes_cbc.o"
 else
index 9c108d1ca71a428d692890e6063c9a63b46d0ccb..6a14e2a9107e164f90de99edc790a9dd6211bf31 100644 (file)
@@ -10,6 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ubsec-ssb
 PKG_VERSION:=2009-02-21
+PKG_RELEASE:=1
 
 CRYPTO_MENU:=OCF Configuration
 
@@ -17,7 +18,7 @@ include $(INCLUDE_DIR)/package.mk
 
 define KernelPackage/ocf-ubsec-ssb
   SUBMENU:=$(CRYPTO_MENU)
-  DEPENDS:=@TARGET_brcm47xx +kmod-crypto-core +kmod-crypto-ocf
+  DEPENDS:=@TARGET_brcm47xx +@OPENSSL_ENGINE +kmod-crypto-core +kmod-crypto-ocf
   TITLE:=BCM5365P IPSec Core driver
   FILES:=$(PKG_BUILD_DIR)/src/ubsec_ssb.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,09,ubsec_ssb)