blob: c605bf54f0a46d1991a1b76a27ca89d08a5a4ad6 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#
2# Copyright (C) 2015-2018 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=libssh2
11PKG_VERSION:=1.11.0
12PKG_RELEASE:=1
13
14PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15PKG_SOURCE_URL:=https://www.libssh2.org/download
16PKG_HASH:=3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461
17
18PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
19PKG_LICENSE:=BSD-3-Clause
20PKG_LICENSE_FILES:=COPYING
21PKG_CPE_ID:=cpe:/a:libssh2:libssh2
22
23CMAKE_INSTALL:=1
24
25PKG_CONFIG_DEPENDS:= \
26 CONFIG_LIBSSH2_MBEDTLS \
27 CONFIG_LIBSSH2_OPENSSL
28
29include $(INCLUDE_DIR)/package.mk
30include $(INCLUDE_DIR)/cmake.mk
31
32define Package/libssh2
33 SECTION:=libs
34 CATEGORY:=Libraries
35 TITLE:=SSH2 library
36 URL:=https://www.libssh2.org/
37 DEPENDS:=+LIBSSH2_MBEDTLS:libmbedtls +!LIBSSH2_MBEDTLS:libopenssl +zlib
38 ABI_VERSION:=1
39endef
40
41define Package/libssh2/description
42 libssh2 is a client-side C library implementing the SSH2 protocol.
43endef
44
45define Package/libssh2/config
46if PACKAGE_libssh2
47
48choice
49 prompt "Choose crypto backend"
50 default LIBSSH2_OPENSSL
51
52 config LIBSSH2_OPENSSL
53 bool "openssl"
54
55 config LIBSSH2_MBEDTLS
56 bool "mbedtls"
57endchoice
58
59endif
60endef
61
62CMAKE_OPTIONS += \
63 -DBUILD_SHARED_LIBS=ON \
64 -DBUILD_TESTING=OFF \
65 -DENABLE_ZLIB_COMPRESSION=ON \
66 -DCLEAR_MEMORY=ON \
67 -DCRYPTO_BACKEND=$(if $(CONFIG_LIBSSH2_MBEDTLS),mbedTLS,OpenSSL)
68
69define Package/libssh2/install
70 $(INSTALL_DIR) $(1)/usr/lib
71 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libssh2.so.$(ABI_VERSION)* $(1)/usr/lib/
72endef
73
74$(eval $(call BuildPackage,libssh2))