1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import("lib.detect.find_tool")
- function main(package, opt)
- if not opt.system then
- return
- end
- 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
- local result = {}
- result.version = java.version
- if package:is_binary() then
- return result
- end
- if is_host("windows") then
- local sdkdir = os.getenv("JAVA_HOME")
- if not os.isdir(sdkdir) then
- return
- end
- result.includedirs = {path.join(sdkdir, "include"), path.join(sdkdir, "include/win32")}
- 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
- end
|