# We have a conf and classes directory, add to BBPATH BBPATH := "${LAYERDIR}:${BBPATH}" # Make meta-wolfssl layer directory available to all recipes and bbappends WOLFSSL_LAYERDIR = "${LAYERDIR}" # Release split for the per-release enable .incs (see wolfssl-series.bbclass). # Add new releases here only. Anything not listed is treated as modern. WOLFSSL_LEGACY_SERIES ?= "sumo thud warrior zeus" WOLFSSL_MODERN_SERIES ?= "gatesgarth hardknott honister dunfell kirkstone langdale mickledore nanbield scarthgap wrynose" # We have a packages directory, add to BBFILES BBFILES += "${LAYERDIR}/recipes-wolfssl/wolfssl/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfssl/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfclu/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfclu/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfssh/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfssh/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfmqtt/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfmqtt/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolftpm/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolftpm/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfpkcs11/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfpkcs11/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfssl-py/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfssl-py/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfcrypt-py/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfcrypt-py/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfprovider/wolfprovider*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfprovider/wolfprovider*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfprovider/wolfssl*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfengine/wolfengine*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfengine/wolfssl*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfboot/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfboot/*.bbappend \ ${LAYERDIR}/recipes-wolfssl/wolfhsm/*.bb \ ${LAYERDIR}/recipes-wolfssl/wolfhsm/*.bbappend \ ${LAYERDIR}/recipes-examples/wolfcrypt/wolfcryptbenchmark/*.bb \ ${LAYERDIR}/recipes-examples/wolfcrypt/wolfcryptbenchmark/*.bbappend \ ${LAYERDIR}/recipes-examples/wolfcrypt/wolfcrypttest/*.bb \ ${LAYERDIR}/recipes-examples/wolfcrypt/wolfcrypttest/*.bbappend \ ${LAYERDIR}/recipes-examples/wolftpm/*.bb \ ${LAYERDIR}/recipes-examples/wolftpm/*.bbappend \ ${LAYERDIR}/recipes-examples/wolfssl-py/wolf-py-tests/*.bb \ ${LAYERDIR}/recipes-examples/wolfssl-py/wolf-py-tests/*.bbappend \ ${LAYERDIR}/recipes-examples/wolfprovider/wolfprovidertest/*.bb \ ${LAYERDIR}/recipes-examples/wolfprovider/wolfprovidertest/*.bbappend \ ${LAYERDIR}/recipes-examples/wolfprovider/wolfprovidercmd/*.bb \ ${LAYERDIR}/recipes-examples/wolfprovider/wolfprovidercmd/*.bbappend \ ${LAYERDIR}/recipes-examples/wolfprovider/wolfproviderenv/*.bb \ ${LAYERDIR}/recipes-examples/wolfprovider/wolfproviderenv/*.bbappend \ ${LAYERDIR}/recipes-examples/wolfengine/wolfenginetest/*.bb \ ${LAYERDIR}/recipes-examples/wolfengine/wolfenginetest/*.bbappend \ ${LAYERDIR}/recipes-support/gnutls/*.bbappend \ ${LAYERDIR}/recipes-support/gnutls/wolfssl-gnutls-wrapper_git.bb" # xilinx-bootbin bbappend requires meta-xilinx-tools layer BBFILES_DYNAMIC += "xilinx-tools:${LAYERDIR}/recipes-bsp/bootbin/*.bbappend" # Uncomment if building bind with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-connectivity/bind/*.bbappend" # Uncomment if building any curl with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-support/curl/wolfssl_%.bbappend" # Uncomment if building curl 7.82.0 with wolfSSL (Kirkstone or Newer Syntax). #BBFILES += "${LAYERDIR}/recipes-support/curl/kirkstone/curl_7.82.0.bbappend" # Uncomment if building curl 7.82.0 with wolfSSL (Legacy Syntax). #BBFILES += "${LAYERDIR}/recipes-support/curl/curl_7.82.0.bbappend" # Uncomment if building any other version of curl with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-support/curl/curl_%.bbappend" # Uncomment if building libssh2 with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-support/libssh2/*.bbappend" # Uncomment if building net-snmp with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-protocols/net-snmp/*.bbappend" # Uncomment if building OpenSSH with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-connectivity/openssh/*.bbappend" # Uncomment if building rsyslog with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-extended/rsyslog/*.bbappend" # Uncomment if building socat 1.7.3.4 with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-connectivity/socat/1.7.3.4/*.bbappend" # Uncomment if building socat 1.8.0.0 with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-connectivity/socat/1.8.0.0/*.bbappend" # Uncomment if building strongSwan with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-support/strongswan/*.bbappend" # Uncomment if building tcpdump with wolfSSL. #BBFILES += "${LAYERDIR}/recipes-support/tcpdump/*.bbappend" BBFILE_COLLECTIONS += "wolfssl" BBFILE_PATTERN_wolfssl := "^${LAYERDIR}/" # When doing a build with replace default mode enabled, we need to prioritize the wolfssl layer BBFILE_PRIORITY_wolfssl = "5" # Weak default preferred providers for wolf libraries # These can be overridden by local.conf or distro configurations PREFERRED_PROVIDER_virtual/wolfssl ??= "wolfssl" PREFERRED_PROVIDER_wolfssl ??= "wolfssl" PREFERRED_PROVIDER_wolfssh ??= "wolfssh" PREFERRED_PROVIDER_wolfmqtt ??= "wolfmqtt" PREFERRED_PROVIDER_wolftpm ??= "wolftpm" PREFERRED_PROVIDER_wolfclu ??= "wolfclu" PREFERRED_PROVIDER_wolfpkcs11 ??= "wolfpkcs11" PREFERRED_PROVIDER_wolfssl-py ??= "wolfssl-py" PREFERRED_PROVIDER_wolfcrypt-py ??= "wolfcrypt-py" PREFERRED_PROVIDER_wolfprovider ??= "wolfprovider" PREFERRED_PROVIDER_wolfengine ??= "wolfengine" PREFERRED_PROVIDER_wolfboot ??= "wolfboot" PREFERRED_PROVIDER_wolfhsm ??= "wolfhsm" BBFILES += "${@bb.utils.contains('WOLFSSL_TYPE', \ 'fips', \ '${LAYERDIR}/recipes-wolfssl/wolfssl/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfssl/commercial/fips-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_TYPE', \ 'fips-ready', \ '${LAYERDIR}/recipes-wolfssl/wolfssl/fips-ready/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfssl/fips-ready/fips-ready-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_TYPE', \ 'commercial', \ '${LAYERDIR}/recipes-wolfssl/wolfssl/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfssl/commercial/commercial-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSH_TYPE', \ 'commercial', \ '${LAYERDIR}/recipes-wolfssl/wolfssh/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfssh/commercial/commercial-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFMQTT_TYPE', \ 'commercial', \ '${LAYERDIR}/recipes-wolfssl/wolfmqtt/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfmqtt/commercial/commercial-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFCLU_TYPE', \ 'commercial', \ '${LAYERDIR}/recipes-wolfssl/wolfclu/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfclu/commercial/commercial-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFTPM_TYPE', \ 'commercial', \ '${LAYERDIR}/recipes-wolfssl/wolftpm/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolftpm/commercial/commercial-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFPKCS11_TYPE', \ 'commercial', \ '${LAYERDIR}/recipes-wolfssl/wolfpkcs11/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfpkcs11/commercial/commercial-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFENGINE_TYPE', \ 'commercial', \ '${LAYERDIR}/recipes-wolfssl/wolfengine/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfengine/commercial/commercial-details/*.bbappend', \ '', d)}" BBFILES += "${@bb.utils.contains('WOLFPROVIDER_TYPE', \ 'commercial', \ '${LAYERDIR}/recipes-wolfssl/wolfprovider/commercial/*.bbappend ${LAYERDIR}/recipes-wolfssl/wolfprovider/commercial/commercial-details/*.bbappend', \ '', d)}" # Conditionally include openssl bbappends when wolfengine is in IMAGE_INSTALL or WOLFSSL_FEATURES BBFILES += "${@'${LAYERDIR}/recipes-wolfssl/wolfengine/openssl_1.%.bbappend' if (bb.utils.contains('WOLFSSL_FEATURES', 'wolfengine', True, False, d) or bb.utils.contains('IMAGE_INSTALL', 'wolfengine', True, False, d)) else ''}" # Conditionally include openssl bbappends when wolfprovider is in IMAGE_INSTALL or WOLFSSL_FEATURES BBFILES += "${@'${LAYERDIR}/recipes-wolfssl/wolfprovider/openssl_3.%.bbappend' if (bb.utils.contains('WOLFSSL_FEATURES', 'wolfprovider', True, False, d) or bb.utils.contains('IMAGE_INSTALL', 'wolfprovider', True, False, d)) else ''}" # Conditionally include demo images when enabled via WOLFSSL_DEMOS BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfssl-image-minimal', '${LAYERDIR}/recipes-core/images/wolfssl-minimal-image/*.bb ${LAYERDIR}/recipes-core/images/wolfssl-minimal-image/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfclu-image-minimal', '${LAYERDIR}/recipes-core/images/wolfclu-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfclu-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolftpm-image-minimal', '${LAYERDIR}/recipes-core/images/wolftpm-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolftpm-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfssl-py-image-minimal', '${LAYERDIR}/recipes-core/images/wolfssl-py-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfssl-py-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfprovider-image-minimal', '${LAYERDIR}/recipes-core/images/wolfprovider-images/wolfprovider-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfprovider-images/wolfprovider-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfprovider-fips-image-minimal', '${LAYERDIR}/recipes-core/images/wolfprovider-images/wolfprovider-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfprovider-images/wolfprovider-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfprovider-replace-default-image-minimal', '${LAYERDIR}/recipes-core/images/wolfprovider-images/wolfprovider-replace-default-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfprovider-images/wolfprovider-replace-default-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfprovider-replace-default-fips-image-minimal', '${LAYERDIR}/recipes-core/images/wolfprovider-images/wolfprovider-replace-default-fips-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfprovider-images/wolfprovider-replace-default-fips-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfssl-combined-image-minimal', '${LAYERDIR}/recipes-core/images/wolfssl-combined-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfssl-combined-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'wolfclu-combined-image-minimal', '${LAYERDIR}/recipes-core/images/wolfclu-combined-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfclu-combined-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'libgcrypt-image-minimal', '${LAYERDIR}/recipes-core/images/libgcrypt-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/libgcrypt-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'gnutls-image-minimal', '${LAYERDIR}/recipes-core/images/gnutls-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/gnutls-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'gnutls-nonfips-image-minimal', '${LAYERDIR}/recipes-core/images/gnutls-nonfips-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/gnutls-nonfips-image-minimal/*.bbappend', '', d)}" BBFILES += "${@bb.utils.contains('WOLFSSL_DEMOS', 'fips-image-minimal', '${LAYERDIR}/recipes-core/images/wolfssl-linux-fips-images/fips-image-minimal/*.bb ${LAYERDIR}/recipes-core/images/wolfssl-linux-fips-images/fips-image-minimal/*.bbappend', '', d)}" # Versions of OpenEmbedded-Core which layer has been tested against LAYERSERIES_COMPAT_wolfssl = "sumo thud warrior zeus hardknott honister gatesgarth dunfell kirkstone mickledore nanbield langdale scarthgap wrynose"