瀏覽代碼

add on_fetch for android ndk

ruki 4 年之前
父節點
當前提交
c147564d84
共有 2 個文件被更改,包括 12 次插入1 次删除
  1. 1 1
      packages/l/libbpf/xmake.lua
  2. 11 0
      packages/n/ndk/xmake.lua

+ 1 - 1
packages/l/libbpf/xmake.lua

@@ -13,7 +13,7 @@ package("libbpf")
 
     on_load("android", function (package)
         import("core.tool.toolchain")
-        local ndk_sdkver = toolchain.load("ndk"):config("ndk_sdkver")
+        local ndk_sdkver = toolchain.load("ndk", {plat = package:plat(), arch = package:arch()}):config("ndk_sdkver")
         if ndk_sdkver and tonumber(ndk_sdkver) < 23 then
             package:add("deps", "memorymapping")
         end

+ 11 - 0
packages/n/ndk/xmake.lua

@@ -25,6 +25,17 @@ package("ndk")
         add_versions("22.0", "14fce4dea7fb3facbc0e3d20270007bffec3ba383aec02e8b0e0dad8d8782892")
     end
 
+    on_fetch(function (package, opt)
+        if opt.system then
+            import("core.base.semver")
+            import("detect.sdks.find_ndk")
+            local ndk = find_ndk()
+            if ndk and ndk.ndkver and semver.satisfies(ndk.ndkver .. ".0", opt.require_version) then
+                return true
+            end
+        end
+    end)
+
     on_install("@windows", "@msys", "@linux", "@macosx", function (package)
         os.vcp("*", package:installdir())
     end)