xmake.lua 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package("acl")
  2. set_homepage("http://savannah.nongnu.org/projects/acl/")
  3. set_description("Commands for Manipulating POSIX Access Control Lists")
  4. set_license("GPL-2.0")
  5. add_urls("http://download.savannah.nongnu.org/releases/acl/acl-$(version).tar.gz")
  6. add_versions("2.3.2", "5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c")
  7. add_versions("2.3.1", "760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af")
  8. add_deps("pkgconf", "attr")
  9. on_install("linux", function (package)
  10. local configs = {}
  11. table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
  12. table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
  13. if package:config("pic") ~= false then
  14. table.insert(configs, "--with-pic")
  15. end
  16. local cflags = {}
  17. local ldflags = {}
  18. for _, dep in ipairs(package:orderdeps()) do
  19. local fetchinfo = dep:fetch()
  20. if fetchinfo then
  21. for _, includedir in ipairs(fetchinfo.includedirs or fetchinfo.sysincludedirs) do
  22. table.insert(cflags, "-I" .. includedir)
  23. end
  24. for _, linkdir in ipairs(fetchinfo.linkdirs) do
  25. table.insert(ldflags, "-L" .. linkdir)
  26. end
  27. for _, link in ipairs(fetchinfo.links) do
  28. table.insert(ldflags, "-l" .. link)
  29. end
  30. end
  31. end
  32. import("package.tools.autoconf").install(package, configs, {cflags = cflags, ldflags = ldflags})
  33. end)
  34. on_test(function (package)
  35. assert(package:has_cfuncs("acl_check", {includes = "acl/libacl.h"}))
  36. end)