|
@@ -1,9 +1,24 @@
|
|
|
+import("lib.detect.find_tool")
|
|
|
+
|
|
|
function main(package, opt)
|
|
|
if not opt.system then
|
|
|
return
|
|
|
end
|
|
|
|
|
|
- local java = package:find_tool("java", opt)
|
|
|
+ local paths = {}
|
|
|
+ if is_host("linux") then
|
|
|
+ for _, ver in ipairs({"8", "11", "17", "21"}) do
|
|
|
+ local dir = format("/usr/lib/jvm/java-%s-openjdk-amd64", ver)
|
|
|
+ if os.isdir(dir) then
|
|
|
+ table.insert(paths, dir)
|
|
|
+ end
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ opt.version = true
|
|
|
+ opt.paths = table.join2(table.wrap(opt.paths), paths)
|
|
|
+
|
|
|
+ local java = find_tool("java", opt)
|
|
|
if not java then
|
|
|
return
|
|
|
end
|
|
@@ -25,8 +40,20 @@ function main(package, opt)
|
|
|
result.linkdirs = path.join(sdkdir, "lib")
|
|
|
result.links = {"jvm", "jawt"}
|
|
|
result.bindirs = {path.join(sdkdir, "bin"), path.join(sdkdir, "bin/server")}
|
|
|
+ package:addenv("PATH", result.bindirs)
|
|
|
+ return result
|
|
|
+ elseif is_host("linux") then
|
|
|
+ local sdkdir = paths[1]
|
|
|
+ if not sdkdir then
|
|
|
+ return
|
|
|
+ end
|
|
|
+
|
|
|
+ result.includedirs = {path.join(sdkdir, "include"), path.join(sdkdir, "include/linux")}
|
|
|
+ result.linkdirs = {path.join(sdkdir, "lib"), path.join(sdkdir, "lib/server")}
|
|
|
+ result.links = {"java", "jli", "jvm"}
|
|
|
+ result.bindirs = path.join(sdkdir, "bin")
|
|
|
+ package:addenv("LD_LIBRARY_PATH", result.linkdirs)
|
|
|
return result
|
|
|
+ elseif is_host("macosx") then
|
|
|
end
|
|
|
- -- TODO: linux, mac
|
|
|
- -- ubuntu: /usr/lib/jvm/java-11-openjdk-amd64
|
|
|
end
|