xmake.lua 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package("libva")
  2. set_homepage("https://01.org/linuxmedia")
  3. set_description("Libva is an implementation for VA-API (Video Acceleration API)")
  4. add_urls("https://github.com/intel/libva/archive/refs/tags/$(version).tar.gz",
  5. "https://github.com/intel/libva.git")
  6. add_versions("2.21.0", "f7c3fffef3f04eb146e036dad2587d852bfb70e4926d014bf437244915ef7425")
  7. add_configs("win32", {description = "Build with win32", default = false, type = "boolean"})
  8. add_configs("drm", {description = "Build with drm", default = false, type = "boolean"})
  9. add_configs("x11", {description = "Build with x11", default = false, type = "boolean"})
  10. add_configs("wayland", {description = "Build with wayland", default = false, type = "boolean"})
  11. add_configs("glx", {description = "Build with glx", default = false, type = "boolean"})
  12. add_configs("shared", {description = "Build shared library.", default = true, type = "boolean", readonly = true})
  13. if is_plat("linux") then
  14. add_syslinks("dl")
  15. end
  16. add_deps("meson", "ninja")
  17. on_load(function (package)
  18. if is_host("windows") or package:is_plat("mingw", "msys") then
  19. package:config_set("win32", true)
  20. elseif not (package:config("drm") or package:config("x11") or package:config("wayland")) then
  21. wprint("Please enable at least one backend (DRM, X11, Wayland), defalut x11")
  22. package:config_set("x11", true)
  23. end
  24. if package:config("drm") or is_plat("linux") then
  25. package:add("deps", "libdrm")
  26. end
  27. if package:config("x11") then
  28. package:add("deps", "libx11", "libxext", "libxfixes")
  29. end
  30. if package:config("wayland") then
  31. package:add("deps", "wayland")
  32. end
  33. end)
  34. on_install("windows", "linux", "mingw", "msys", function (package)
  35. local configs = {}
  36. table.insert(configs, "-Ddisable_drm=" .. (package:config("drm") and "false" or "true"))
  37. table.insert(configs, "-Dwith_win32=" .. (package:config("win32") and "yes" or "no"))
  38. table.insert(configs, "-Dwith_x11=" .. (package:config("x11") and "yes" or "no"))
  39. table.insert(configs, "-Dwith_wayland=" .. (package:config("wayland") and "yes" or "no"))
  40. table.insert(configs, "-Dwith_glx=" .. (package:config("glx") and "yes" or "no"))
  41. import("package.tools.meson").install(package, configs)
  42. end)
  43. on_test(function (package)
  44. assert(package:has_cfuncs("vaDisplayIsValid", {includes = "va/va.h"}))
  45. end)