From 3ddf88e4aa39ca3a565cd0ca1d20dc013c9826e7 Mon Sep 17 00:00:00 2001 From: star9029 Date: Fri, 4 Oct 2024 21:17:58 +0800 Subject: [PATCH] libssh2: enable some platform --- packages/l/libssh2/xmake.lua | 48 ++++++++++++++---------------------- 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/packages/l/libssh2/xmake.lua b/packages/l/libssh2/xmake.lua index d13e3b8925f..04f11dbba60 100644 --- a/packages/l/libssh2/xmake.lua +++ b/packages/l/libssh2/xmake.lua @@ -1,5 +1,4 @@ package("libssh2") - set_homepage("https://www.libssh2.org/") set_description("C library implementing the SSH2 protocol") set_license("BSD-3-Clause") @@ -7,28 +6,31 @@ package("libssh2") set_urls("https://github.com/libssh2/libssh2/releases/download/libssh2-$(version)/libssh2-$(version).tar.gz", "https://www.libssh2.org/download/libssh2-$(version).tar.gz", "https://github.com/libssh2/libssh2.git") + add_versions("1.10.0", "2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51") add_versions("1.11.0", "3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461") add_configs("backend", {description = "Select crypto backend.", default = (is_plat("windows") and "wincng" or "openssl"), type = "string", values = {"openssl", "wincng", "mbedtls", "libgcrypt"}}) - add_deps("zlib") if is_plat("windows") then - add_deps("cmake") add_syslinks("bcrypt", "crypt32", "ws2_32") end + add_deps("cmake") + add_deps("zlib") + on_load(function (package) - if package:gitref() then - package:add("deps", "automake", "autoconf") - end local backend = package:config("backend") if backend ~= "wincng" then package:add("deps", backend) end + + if package:is_plat("windows") and package:config("shared") then + package:add("defines", "LIBSSH2_EXPORTS") + end end) - on_install("windows", function (package) + on_install("!wasm", function (package) local configs = {"-DBUILD_TESTING=OFF", "-DBUILD_EXAMPLES=OFF", "-DENABLE_ZLIB_COMPRESSION=ON"} @@ -36,34 +38,20 @@ package("libssh2") openssl = "OpenSSL", mbedtls = "mbedTLS", libgcrypt = "Libgcrypt"} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release")) + table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) + table.insert(configs, "-DBUILD_STATIC_LIBS=" .. (package:config("shared") and "OFF" or "ON")) table.insert(configs, "-DCRYPTO_BACKEND=" .. backend_name[package:config("backend")]) - import("package.tools.cmake").install(package, configs) - end) - on_install("macosx", "linux", function (package) - local configs = {"--disable-silent-rules", - "--disable-examples-build", - "--with-libz"} - local lib_prefix = {openssl = "libssl", - mbedtls = "libmbedcrypto", - libgcrypt = "libgcrypt"} - local backend = package:config("backend") - table.insert(configs, "--with-crypto=" .. backend) - local dep = package:dep(backend) - if dep and not dep:is_system() then - table.insert(configs, "--with-" .. lib_prefix[backend] .. "-prefix=" .. dep:installdir()) + if package:is_plat("windows") then + os.mkdir(path.join(package:buildir(), "src/pdb")) end - table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes")) - table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no")) - if package:is_plat("linux") and package:config("pic") ~= false then - table.insert(configs, "--with-pic") - end - if package:gitref() then - os.vrunv("sh", {"./buildconf"}) + import("package.tools.cmake").install(package, configs) + + if package:is_plat("windows") and package:is_debug() then + local dir = package:installdir(package:config("shared") and "bin" or "lib") + os.vcp(path.join(package:buildir(), "src/*.pdb"), dir) end - import("package.tools.autoconf").install(package, configs) end) on_test(function (package)