package ( " wolfssl " )
set_homepage ( " https://www.wolfssl.com " )
set_description ( " The wolfSSL library is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3! " )
set_license ( " GPL-2.0 " )
add_urls ( " https://github.com/wolfSSL/wolfssl/archive/refs/tags/$(version).tar.gz " ,
" https://github.com/wolfSSL/wolfssl.git " )
add_versions ( " v5.3.0-stable " , " 1a3bb310dc01d3e73d9ad91b6ea8249d081016f8eef4ae8f21d3421f91ef1de9 " )
add_configs ( " openssl_extra " , { description = " WOLFSSL_OPENSSLEXTRA " , default = false , type = " boolean " } )
add_deps ( " cmake " )
on_install ( function ( package )
local configs = { }
table.insert ( configs , " -DCMAKE_BUILD_TYPE= " .. ( package : debug ( ) and " Debug " or " Release " ) )
table.insert ( configs , " -DBUILD_SHARED_LIBS= " .. ( package : config ( " shared " ) and " ON " or " OFF " ) )
table.insert ( configs , " -DWOLFSSL_OPENSSLEXTRA= " .. ( package : config ( " openssl_extra " ) and " yes " or " no " ) )
local ldflags
if package : is_plat ( " android " ) then
ldflags = " -llog "
end
import ( " package.tools.cmake " ) . install ( package , configs , { ldflags = ldflags } )
end )
on_test ( function ( package )
assert ( package : has_cincludes ( " wolfssl/ssl.h " ) )
end )