فهرست منبع

package/wolftpm: fix dependencies

pkg-config is not used by wolftpm and wolfssl dependency is missing (and
optional but highly recommended) resulting in the following build failure
since the addition of the package in commit
4bb884a3c61c6b71e33f69453a90eb2a367f64b7:

configure: error: WolfSSL library not found. You can get it from http://www.wolfssl.com/download.html
        If it's already installed, specify its path using --with-wolfcrypt=/dir or --prefix=/dir

Fixes:
 - http://autobuild.buildroot.org/results/77a93521b909e701ef4e86f18524258b9242c721

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Fabrice Fontaine 3 سال پیش
والد
کامیت
49766be2f2
2فایلهای تغییر یافته به همراه28 افزوده شده و 8 حذف شده
  1. 18 5
      package/wolftpm/Config.in
  2. 10 3
      package/wolftpm/wolftpm.mk

+ 18 - 5
package/wolftpm/Config.in

@@ -1,9 +1,5 @@
 config BR2_PACKAGE_WOLFTPM
 	bool "wolftpm"
-	depends on BR2_TOOLCHAIN_HAS_THREADS
-	depends on !BR2_STATIC_LIBS
-	select BR2_PACKAGE_WOLFSSL
-	select BR2_PACKAGE_WOLFSSL_ALL
 	help
 	  wolfTPM is a portable, open-source TPM 2.0 stack with
 	  backward API compatibility, designed for embedded use.
@@ -12,5 +8,22 @@ config BR2_PACKAGE_WOLFTPM
 
 	  https://www.wolfssl.com/
 
-comment "wolftpm needs a toolchain w/ threads, dynamic library"
+if BR2_PACKAGE_WOLFTPM
+
+config BR2_PACKAGE_WOLFTPM_WOLFCRYPT
+	bool "wolfCrypt hooks"
+	default y
+	depends on BR2_TOOLCHAIN_HAS_THREADS # wolfssl
+	depends on !BR2_STATIC_LIBS # wolfssl-all
+	select BR2_PACKAGE_WOLFSSL
+	# not mandatory, but needed to get all features
+	select BR2_PACKAGE_WOLFSSL_ALL
+	help
+	  Enable wolfCrypt hooks for RNG, Auth Sessions and Parameter
+	  encryption. Disabling this option is not recommended as it
+	  could create a security breach in most environments.
+
+comment "wolfCrypt hooks need a toolchain w/ threads, dynamic library"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+
+endif

+ 10 - 3
package/wolftpm/wolftpm.mk

@@ -10,7 +10,6 @@ WOLFTPM_INSTALL_STAGING = YES
 WOLFTPM_LICENSE = GPL-2.0+
 WOLFTPM_LICENSE_FILES = LICENSE
 WOLFTPM_CPE_ID_VENDOR = wolfssl
-WOLFTPM_DEPENDENCIES = host-pkgconf
 WOLFTPM_CONFIG_SCRIPTS = wolftpm-config
 
 # wolfTPM's source code is released without a configure script,
@@ -19,8 +18,7 @@ WOLFTPM_AUTORECONF = YES
 
 WOLFTPM_CONF_OPTS = \
 	--disable-examples \
-	--enable-devtpm \
-	--with-wolfcrypt=$(STAGING_DIR)/usr
+	--enable-devtpm
 
 # Fix for missing config.rpath in the codebase
 define WOLFTPM_TOUCH_CONFIG_RPATH
@@ -29,4 +27,13 @@ define WOLFTPM_TOUCH_CONFIG_RPATH
 endef
 WOLFTPM_PRE_CONFIGURE_HOOKS += WOLFTPM_TOUCH_CONFIG_RPATH
 
+ifeq ($(BR2_PACKAGE_WOLFTPM_WOLFCRYPT),y)
+WOLFTPM_CONF_OPTS += \
+	--enable-wolfcrypt \
+	--with-wolfcrypt=$(STAGING_DIR)/usr
+WOLFTPM_DEPENDENCIES += wolfssl
+else
+WOLFTPM_CONF_OPTS += --disable-wolfcrypt
+endif
+
 $(eval $(autotools-package))