aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--repo/packages/l/libcurl/patches/7.84.0/sched.patch13
-rw-r--r--repo/packages/l/libcurl/versions.lua65
-rw-r--r--repo/packages/l/libcurl/xmake.lua147
-rw-r--r--repo/packages/l/lua/xmake.lua108
-rw-r--r--repo/packages/l/lz4/xmake.lua52
-rw-r--r--src/zencore/xmake.lua2
-rw-r--r--xmake.lua2
7 files changed, 387 insertions, 2 deletions
diff --git a/repo/packages/l/libcurl/patches/7.84.0/sched.patch b/repo/packages/l/libcurl/patches/7.84.0/sched.patch
new file mode 100644
index 000000000..3a8c50a09
--- /dev/null
+++ b/repo/packages/l/libcurl/patches/7.84.0/sched.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/easy_lock.h b/lib/easy_lock.h
+--- a/lib/easy_lock.h
++++ b/lib/easy_lock.h
+@@ -36,6 +36,9 @@
+
+ #elif defined (HAVE_ATOMIC)
+ #include <stdatomic.h>
++#if defined(HAVE_SCHED_YIELD)
++#include <sched.h>
++#endif
+
+ #define curl_simple_lock atomic_bool
+ #define CURL_SIMPLE_LOCK_INIT false
diff --git a/repo/packages/l/libcurl/versions.lua b/repo/packages/l/libcurl/versions.lua
new file mode 100644
index 000000000..62a44e8c4
--- /dev/null
+++ b/repo/packages/l/libcurl/versions.lua
@@ -0,0 +1,65 @@
+function add_versions_list()
+ add_versions("8.7.1", "05bbd2b698e9cfbab477c33aa5e99b4975501835a41b7ca6ca71de03d8849e76")
+ add_versions("8.5.0", "ce4b6a6655431147624aaf582632a36fe1ade262d5fab385c60f78942dd8d87b")
+ add_versions("8.4.0", "e5250581a9c032b1b6ed3cf2f9c114c811fc41881069e9892d115cc73f9e88c6")
+ add_versions("8.0.1", "9b6b1e96b748d04b968786b6bdf407aa5c75ab53a3d37c1c8c81cdb736555ccf")
+ add_versions("7.87.0", "5d6e128761b7110946d1276aff6f0f266f2b726f5e619f7e0a057a474155f307")
+ add_versions("7.86.0", "f5ca69db03eea17fa8705bdfb1a9f58d76a46c9010518109bb38f313137e0a28")
+ add_versions("7.85.0", "21a7e83628ee96164ac2b36ff6bf99d467c7b0b621c1f7e317d8f0d96011539c")
+ add_versions("7.84.0", "702fb26e73190a3bd77071aa146f507b9817cc4dfce218d2ab87f00cd3bc059d")
+ add_versions("7.82.0", "46d9a0400a33408fd992770b04a44a7434b3036f2e8089ac28b57573d59d371f")
+ add_versions("7.81.0", "1e7a38d7018ec060f1f16df839854f0889e94e122c4cfa5d3a37c2dc56f1e258")
+ add_versions("7.80.0", "dd0d150e49cd950aff35e16b628edf04927f0289df42883750cf952bb858189c")
+ add_versions("7.78.0", "98530b317dc95ccb324bbe4f834f07bb642fbc393b794ddf3434f246a71ea44a")
+ add_versions("7.77.0", "6c0c28868cb82593859fc43b9c8fdb769314c855c05cf1b56b023acf855df8ea")
+ add_versions("7.76.1", "7a8e184d7d31312c4ebf6a8cb59cd757e61b2b2833a9ed4f9bf708066e7695e9")
+ add_versions("7.75.0", "50552d4501c178e4cc68baaecc487f466a3d6d19bbf4e50a01869effb316d026")
+ add_versions("7.74.0", "0f4d63e6681636539dc88fa8e929f934cd3a840c46e0bf28c73be11e521b77a5")
+ add_versions("7.73.0", "cf34fe0b07b800f1c01a499a6e8b2af548f6d0e044dca4a29d88a4bee146d131")
+ add_versions("7.72.0", "ad91970864102a59765e20ce16216efc9d6ad381471f7accceceab7d905703ef")
+ add_versions("7.71.1", "9d52a4d80554f9b0d460ea2be5d7be99897a1a9f681ffafe739169afd6b4f224")
+ add_versions("7.70.0", "a50bfe62ad67a24f8b12dd7fd655ac43a0f0299f86ec45b11354f25fbb5829d0")
+ add_versions("7.69.1", "2ff5e5bd507adf6aa88ff4bbafd4c7af464867ffb688be93b9930717a56c4de8")
+ add_versions("7.68.0", "207f54917dd6a2dc733065ccf18d61bb5bebeaceb5df49cd9445483e8623eeb9")
+ add_versions("7.67.0", "dd5f6956821a548bf4b44f067a530ce9445cc8094fd3e7e3fc7854815858586c")
+ add_versions("7.66.0", "6618234e0235c420a21f4cb4c2dd0badde76e6139668739085a70c4e2fe7a141")
+ add_versions("7.65.3", "0a855e83be482d7bc9ea00e05bdb1551a44966076762f9650959179c89fce509")
+ add_versions("7.64.1", "4cc7c738b35250d0680f29e93e0820c4cb40035f43514ea3ec8d60322d41a45d")
+ add_versions("7.64.0", "d573ba1c2d1cf9d8533fadcce480d778417964e8d04ccddcc76e591d544cf2eb")
+ add_versions("7.63.0", "9bab7ed4ecff77020a312d84cc5fb7eb02d58419d218f267477a724a17fd8dd8")
+ add_versions("7.62.0", "7802c54076500be500b171fde786258579d60547a3a35b8c5a23d8c88e8f9620")
+ add_versions("7.61.1", "a308377dbc9a16b2e994abd55455e5f9edca4e31666f8f8fcfe7a1a4aea419b9")
+ add_versions("7.61.0", "5f6f336921cf5b84de56afbd08dfb70adeef2303751ffb3e570c936c6d656c9c")
+ add_versions("7.60.0", "897dfb2204bd99be328279f88f55b7c61592216b0542fcbe995c60aa92871e9b")
+ add_versions("7.59.0", "b5920ffd6a8c95585fb95070e0ced38322790cb335c39d0dab852d12e157b5a0")
+ add_versions("7.58.0", "1cb081f97807c01e3ed747b6e1c9fee7a01cb10048f1cd0b5f56cfe0209de731")
+ add_versions("7.57.0", "c92fe31a348eae079121b73884065e600c533493eb50f1f6cee9c48a3f454826")
+ add_versions("7.56.1", "2594670367875e7d87b0f129b5e4690150780884d90244ba0fe3e74a778b5f90")
+ add_versions("7.55.1", "e5b1a92ed3b0c11f149886458fa063419500819f1610c020d62f25b8e4b16cfb")
+ add_versions("7.54.1", "fdfc4df2d001ee0c44ec071186e770046249263c491fcae48df0e1a3ca8f25a0")
+ add_versions("7.53.1", "1c7207c06d75e9136a944a2e0528337ce76f15b9ec9ae4bb30d703b59bf530e8")
+ add_versions("7.52.1", "d16185a767cb2c1ba3d5b9096ec54e5ec198b213f45864a38b3bda4bbf87389b")
+ add_versions("7.51.0", "7f8240048907e5030f67be0a6129bc4b333783b9cca1391026d700835a788dde")
+ add_versions("7.50.3", "7b7347d976661d02c84a1f4d6daf40dee377efdc45b9e2c77dedb8acf140d8ec")
+ add_versions("7.49.1", "eb63cec4bef692eab9db459033f409533e6d10e20942f4b060b32819e81885f1")
+ add_versions("7.48.0", "864e7819210b586d42c674a1fdd577ce75a78b3dda64c63565abe5aefd72c753")
+ add_versions("7.47.1", "ddc643ab9382e24bbe4747d43df189a0a6ce38fcb33df041b9cb0b3cd47ae98f")
+ add_versions("7.46.0", "b7d726cdd8ed4b6db0fa1b474a3c59ebbbe4dcd4c61ac5e7ade0e0270d3195ad")
+ add_versions("7.45.0", "65154e66b9f8a442b57c436904639507b4ac37ec13d6f8a48248f1b4012b98ea")
+ add_versions("7.44.0", "1e2541bae6582bb697c0fbae49e1d3e6fad5d05d5aa80dbd6f072e0a44341814")
+ add_versions("7.43.0", "baa654a1122530483ccc1c58cc112fec3724a82c11c6a389f1e6a37dc8858df9")
+ add_versions("7.42.1", "e2905973391ec2dfd7743a8034ad10eeb58dab8b3a297e7892a41a7999cac887")
+ add_versions("7.41.0", "9f8b546bdc5c57d959151acae7ce6610fe929d82b8d0fc5b25a3a2296e5f8bea")
+ add_versions("7.40.0", "899109eb3900fa6b8a2f995df7f449964292776a04763e94fae640700f883fba")
+ add_versions("7.39.0", "b222566e7087cd9701b301dd6634b360ae118cc1cbc7697e534dc451102ea4e0")
+ add_versions("7.38.0", "035bd41e99aa1a4e64713f4cea5ccdf366ca8199e9be1b53d5a043d5165f9eba")
+ add_versions("7.37.1", "c3ef3cd148f3778ddbefb344117d7829db60656efe1031f9e3065fc0faa25136")
+ add_versions("7.36.0", "1fbe82b89bcd6b7ccda8cb0ff076edc60e911595030e27689f4abd5ef7f3cfcd")
+ add_versions("7.35.0", "d774d1701454f1b7d331c2075fc4f6dd972bddc2d171f43645ef3647c7fc0d83")
+ add_versions("7.34.0", "10beade56b48311499e444783df3413405b22f20a147ed4a1d8a8125f1cc829b")
+ add_versions("7.33.0", "0afde4cd949e2658eddc3cda675b19b165eea1af48ac5f3e1ec160792255d1b3")
+ add_versions("7.32.0", "8e3db42548e01407cb2f1407660c0f528b89ec7afda6264442fc2b229b95223b")
+ add_versions("7.31.0", "a73b118eececff5de25111f35d1d0aafe1e71afdbb83082a8e44d847267e3e08")
+
+ add_patches("7.84.0", path.join(os.scriptdir(), "patches", "7.84.0", "sched.patch"), "e79f56f840cbc6996a153f19d9266bd46fe4154e6b494c8ee0478cb5b87662d3")
+end
diff --git a/repo/packages/l/libcurl/xmake.lua b/repo/packages/l/libcurl/xmake.lua
new file mode 100644
index 000000000..f9f61aec9
--- /dev/null
+++ b/repo/packages/l/libcurl/xmake.lua
@@ -0,0 +1,147 @@
+includes(path.join(os.scriptdir(), "versions.lua"))
+
+package("libcurl")
+
+ set_homepage("https://curl.haxx.se/")
+ set_description("The multiprotocol file transfer library.")
+ set_license("MIT")
+
+ set_urls("https://curl.haxx.se/download/curl-$(version).tar.bz2",
+ "http://curl.mirror.anstey.ca/curl-$(version).tar.bz2")
+ add_urls("https://github.com/curl/curl/releases/download/curl-$(version).tar.bz2",
+ {version = function (version) return (version:gsub("%.", "_")) .. "/curl-" .. version end})
+ add_versions_list()
+
+ if is_plat("macosx", "iphoneos") then
+ add_frameworks("Security", "CoreFoundation", "SystemConfiguration")
+ elseif is_plat("linux") then
+ add_syslinks("pthread")
+ elseif is_plat("windows", "mingw") then
+ add_deps("cmake")
+ add_syslinks("advapi32", "crypt32", "wldap32", "winmm", "ws2_32", "user32")
+ end
+
+ add_configs("cares", {description = "Enable c-ares support.", default = false, type = "boolean"})
+ add_configs("openssl", {description = "Enable OpenSSL for SSL/TLS.", default = is_plat("linux", "cross"), type = "boolean"})
+ add_configs("mbedtls", {description = "Enable mbedTLS for SSL/TLS.", default = false, type = "boolean"})
+ add_configs("nghttp2", {description = "Use Nghttp2 library.", default = false, type = "boolean"})
+ add_configs("openldap", {description = "Use OpenLDAP library.", default = false, type = "boolean"})
+ add_configs("libidn2", {description = "Use Libidn2 for IDN support.", default = false, type = "boolean"})
+ add_configs("zlib", {description = "Enable zlib support.", default = false, type = "boolean"})
+ add_configs("zstd", {description = "Enable zstd support.", default = false, type = "boolean"})
+ add_configs("brotli", {description = "Enable brotli support.", default = false, type = "boolean"})
+ add_configs("libssh2", {description = "Use libSSH2 library.", default = false, type = "boolean"})
+ add_configs("libpsl", {description = "Use libpsl library.", default = false, type = "boolean"})
+
+ if is_plat("mingw") and is_subhost("msys") then
+ add_extsources("pacman::curl")
+ elseif is_plat("linux") then
+ add_extsources("pacman::curl", "apt::libcurl4-gnutls-dev", "apt::libcurl4-nss-dev", "apt::libcurl4-openssl-dev")
+ elseif is_plat("macosx") then
+ add_extsources("brew::curl")
+ end
+
+ on_load(function (package)
+ if package:is_plat("windows", "mingw") then
+ if not package:config("shared") then
+ package:add("defines", "CURL_STATICLIB")
+ end
+ end
+ local configdeps = {cares = "c-ares",
+ openssl = "openssl",
+ mbedtls = "mbedtls",
+ nghttp2 = "nghttp2",
+ openldap = "openldap",
+ libidn2 = "libidn2",
+ libpsl = "libpsl",
+ zlib = "zlib",
+ zstd = "zstd",
+ brotli = "brotli",
+ libssh2 = "libssh2"}
+ local has_deps = false
+ for name, dep in pairs(configdeps) do
+ if package:config(name) then
+ package:add("deps", dep)
+ has_deps = true
+ end
+ end
+ if has_deps and package:is_plat("linux", "macosx") then
+ package:add("deps", "pkg-config")
+ end
+ end)
+
+ on_install("windows", "mingw", function (package)
+ local configs = {"-DBUILD_TESTING=OFF", "-DENABLE_MANUAL=OFF"}
+ 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, (package:version():ge("7.80") and "-DCURL_USE_SCHANNEL=ON" or "-DCMAKE_USE_SCHANNEL=ON"))
+ local version = package:version()
+
+ if (package:is_plat("mingw") and version:ge("7.85")) then
+ package:add("syslinks", "bcrypt")
+ end
+
+ local configopts = {cares = "ENABLE_ARES",
+ openssl = (version:ge("7.81") and "CURL_USE_OPENSSL" or "CMAKE_USE_OPENSSL"),
+ mbedtls = (version:ge("7.81") and "CURL_USE_MBEDTLS" or "CMAKE_USE_MBEDTLS"),
+ nghttp2 = "USE_NGHTTP2",
+ openldap = "CURL_USE_OPENLDAP",
+ libidn2 = "USE_LIBIDN2",
+ zlib = "CURL_ZLIB",
+ zstd = "CURL_ZSTD",
+ brotli = "CURL_BROTLI",
+ libssh2 = (version:ge("7.81") and "CURL_USE_LIBSSH2" or "CMAKE_USE_LIBSSH2"),
+ libpsl = "CURL_USE_LIBPSL"}
+ for name, opt in pairs(configopts) do
+ table.insert(configs, "-D" .. opt .. "=" .. (package:config(name) and "ON" or "OFF"))
+ end
+ if package:is_plat("windows") then
+ table.insert(configs, "-DCURL_STATIC_CRT=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
+ end
+ if package:is_plat("mingw") and version:le("7.85.0") then
+ io.replace("src/CMakeLists.txt", 'COMMAND ${CMAKE_COMMAND} -E echo "/* built-in manual is disabled, blank function */" > tool_hugehelp.c', "", {plain = true})
+ end
+ import("package.tools.cmake").install(package, configs)
+ end)
+
+ on_install("macosx", "linux", "cross", function (package)
+ local configs = {"--disable-silent-rules",
+ "--disable-dependency-tracking",
+ "--without-hyper",
+ "--without-libgsasl",
+ "--without-librtmp",
+ "--without-quiche",
+ "--without-ngtcp2",
+ "--without-nghttp3"}
+
+ local version = package:version()
+ if (package:is_plat("mingw") and version:ge("7.85")) then
+ package:add("syslinks", "Bcrypt")
+ end
+
+ table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
+ table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
+ if package:debug() then
+ table.insert(configs, "--enable-debug")
+ end
+ if package:is_plat("macosx", "iphoneos") then
+ table.insert(configs, (package:version():ge("7.77") and "--with-secure-transport" or "--with-darwinssl"))
+ end
+ for _, name in ipairs({"openssl", "mbedtls", "zlib", "brotli", "zstd", "libssh2", "libidn2", "libpsl", "nghttp2"}) do
+ table.insert(configs, package:config(name) and "--with-" .. name or "--without-" .. name)
+ end
+ table.insert(configs, package:config("cares") and "--enable-ares" or "--disable-ares")
+ table.insert(configs, package:config("openldap") and "--enable-ldap" or "--disable-ldap")
+ if package:is_plat("macosx") then
+ local cares = package:dep("c-ares")
+ if cares and not cares:config("shared") then
+ -- we need fix missing `-lresolv` when checking c-ares
+ io.replace("./configure", "PKGCONFIG --libs-only-l libcares", "PKGCONFIG --libs-only-l --static libcares", {plain = true})
+ end
+ end
+ import("package.tools.autoconf").install(package, configs)
+ end)
+
+ on_test(function (package)
+ assert(package:has_cfuncs("curl_version", {includes = "curl/curl.h"}))
+ end)
diff --git a/repo/packages/l/lua/xmake.lua b/repo/packages/l/lua/xmake.lua
new file mode 100644
index 000000000..26655d2a4
--- /dev/null
+++ b/repo/packages/l/lua/xmake.lua
@@ -0,0 +1,108 @@
+package("lua")
+
+ set_homepage("http://lua.org")
+ set_description("A powerful, efficient, lightweight, embeddable scripting language.")
+
+ add_urls("https://www.lua.org/ftp/lua-$(version).tar.gz", {version = function (version)
+ return version:sub(2)
+ end})
+ add_urls("https://github.com/lua/lua.git")
+
+ add_versions("v5.4.6", "7d5ea1b9cb6aa0b59ca3dde1c6adcb57ef83a1ba8e5432c0ecd06bf439b3ad88")
+ add_versions("v5.4.4", "164c7849653b80ae67bec4b7473b884bf5cc8d2dca05653475ec2ed27b9ebf61")
+ add_versions("v5.4.3", "f8612276169e3bfcbcfb8f226195bfc6e466fe13042f1076cbde92b7ec96bbfb")
+ add_versions("v5.4.2", "11570d97e9d7303c0a59567ed1ac7c648340cd0db10d5fd594c09223ef2f524f")
+ add_versions("v5.4.1", "4ba786c3705eb9db6567af29c91a01b81f1c0ac3124fdbf6cd94bdd9e53cca7d")
+ add_versions("v5.3.6", "fc5fd69bb8736323f026672b1b7235da613d7177e72558893a0bdcd320466d60")
+ add_versions("v5.2.3", "13c2fb97961381f7d06d5b5cea55b743c163800896fd5c5e2356201d3619002d")
+ add_versions("v5.1.1", "c5daeed0a75d8e4dd2328b7c7a69888247868154acbda69110e97d4a6e17d1f0")
+ add_versions("v5.1.5", "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333")
+
+ if is_plat("mingw") and is_subhost("msys") then
+ add_extsources("pacman::lua", "pacman::lua51")
+ elseif is_plat("linux") then
+ add_extsources("pacman::lua", "pacman::lua51", "pacman::lua52", "pacman::lua53", "apt::liblua5.1-0-dev", "apt::liblua5.2-dev", "apt::liblua5.3-dev", "apt::liblua5.4-dev")
+ elseif is_plat("macosx") then
+ add_extsources("brew::lua", "brew::[email protected]")
+ end
+
+ add_includedirs("include/lua")
+ if not is_plat("windows", "mingw") then
+ add_syslinks("dl", "m")
+ end
+
+ on_load(function (package)
+ package:addenv("PATH", "bin")
+ end)
+
+ on_install(function (package)
+ local sourcedir = os.isdir("src") and "src/" or "" -- for tar.gz or git source
+ if is_plat("iphoneos", "android") then
+ -- disable system() calls as they're not supported on these platforms
+ local luaconf = io.open(sourcedir .. "/luaconf.h", "a")
+ luaconf:write([[
+#ifndef lconfig_h_ext
+#define lconfig_h_ext
+
+#if defined(LUA_LIB)
+/* disable system calls as it's not available on this sytem */
+#define system(s) ((s)==NULL ? 0 : -1)
+#endif
+
+#endif
+]])
+ luaconf:close()
+ end
+
+ io.writefile("xmake.lua", format([[
+ add_rules("mode.release", "mode.debug")
+
+ local sourcedir = "%s"
+ local kind = "%s"
+ local enabled = %s
+ target("lualib")
+ set_kind(kind)
+ set_basename("lua")
+ add_headerfiles(sourcedir .. "*.h", {prefixdir = "lua"})
+ add_headerfiles(sourcedir .. "lua.hpp", {prefixdir = "lua"})
+ add_files(sourcedir .. "*.c|lua.c|luac.c|onelua.c")
+ add_defines("LUA_COMPAT_5_2", "LUA_COMPAT_5_1")
+ if is_plat("linux", "bsd", "cross") then
+ add_defines("LUA_USE_LINUX")
+ add_defines("LUA_DL_DLOPEN")
+ elseif is_plat("macosx", "iphoneos") then
+ add_defines("LUA_USE_MACOSX")
+ add_defines("LUA_DL_DYLD")
+ elseif is_plat("windows", "mingw") then
+ -- Lua already detects Windows and sets according defines
+ if is_kind("shared") then
+ add_defines("LUA_BUILD_AS_DLL", {public = true})
+ end
+ end
+
+ target("lua")
+ set_enabled(enabled)
+ set_kind("binary")
+ add_files(sourcedir .. "lua.c")
+ add_deps("lualib")
+ if not is_plat("windows", "mingw") then
+ add_syslinks("dl")
+ end
+ ]], sourcedir,
+ package:config("shared") and "shared" or "static",
+ package:is_cross() and "false" or "true"))
+
+ local configs = {}
+ if package:config("shared") then
+ configs.kind = "shared"
+ end
+
+ import("package.tools.xmake").install(package, configs)
+ end)
+
+ on_test(function (package)
+-- if not package:is_cross() then
+-- os.vrun("lua -e \"print('hello xmake!')\"")
+-- end
+ assert(package:has_cfuncs("lua_getinfo", {includes = "lua.h"}))
+ end)
diff --git a/repo/packages/l/lz4/xmake.lua b/repo/packages/l/lz4/xmake.lua
new file mode 100644
index 000000000..8af6da100
--- /dev/null
+++ b/repo/packages/l/lz4/xmake.lua
@@ -0,0 +1,52 @@
+package("lz4")
+
+ set_homepage("https://www.lz4.org/")
+ set_description("LZ4 - Extremely fast compression")
+
+ set_urls("https://github.com/lz4/lz4/archive/$(version).tar.gz",
+ "https://github.com/lz4/lz4.git")
+ add_versions("v1.9.4", "0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b")
+ add_versions("v1.9.3", "030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1")
+
+ on_load("windows", function (package)
+ if package:config("shared") then
+ package:add("defines", "LZ4_DLL_IMPORT")
+ end
+ end)
+
+ if is_plat("macosx") then
+ add_extsources("brew::lz4")
+ elseif is_plat("linux") then
+ add_extsources("pacman::lz4", "apt::liblz4-dev")
+ end
+
+ on_install(function (package)
+ io.writefile("xmake.lua", ([[
+ set_version("%s")
+ add_rules("mode.debug", "mode.release")
+ target("lz4")
+ set_kind("$(kind)")
+ add_rules("utils.install.pkgconfig_importfiles", {filename = "liblz4.pc"})
+ add_files("lib/*.c")
+ add_headerfiles("lib/lz4.h", "lib/lz4hc.h", "lib/lz4frame.h")
+ add_defines("XXH_NAMESPACE=LZ4_")
+ if is_kind("shared") and is_plat("windows") then
+ add_defines("LZ4_DLL_EXPORT")
+ end
+ if is_kind("static") then
+ add_defines("LZ4_HC_STATIC_LINKING_ONLY", "LZ4_STATIC_LINKING_ONLY")
+ end
+ ]]):format(package:version_str()))
+ local configs = {}
+ if package:config("shared") then
+ configs.kind = "shared"
+ end
+ if package:is_plat("linux") and package:config("pic") ~= false then
+ configs.cxflags = "-fPIC"
+ end
+ import("package.tools.xmake").install(package, configs)
+ end)
+
+ on_test(function (package)
+ assert(package:has_cfuncs("LZ4_compress_default", {includes = {"lz4.h"}}))
+ end)
diff --git a/src/zencore/xmake.lua b/src/zencore/xmake.lua
index 83c13ec12..a79868333 100644
--- a/src/zencore/xmake.lua
+++ b/src/zencore/xmake.lua
@@ -44,7 +44,7 @@ target('zencore')
add_packages(
"vcpkg::eastl",
"vcpkg::gsl-lite",
- "vcpkg::lz4",
+ "lz4",
"xxhash",
{public=true}
)
diff --git a/xmake.lua b/xmake.lua
index 9542f5616..5b1ab8b87 100644
--- a/xmake.lua
+++ b/xmake.lua
@@ -5,6 +5,7 @@ set_configvar("ZEN_SCHEMA_VERSION", 5) -- force state wipe after 0.2.31 causing
add_repositories("zen-repo repo")
add_requires("xxhash 0.8.2", {system = false})
+add_requires("lz4")
add_requires(
"vcpkg::curl",
@@ -12,7 +13,6 @@ add_requires(
"vcpkg::gsl-lite",
"vcpkg::http-parser",
"vcpkg::lua",
- "vcpkg::lz4",
"vcpkg::ryml",
"vcpkg::c4core",
"vcpkg::zlib"