xmake.lua 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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.1", "760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af")
  7. add_deps("pkgconf", "attr")
  8. on_install("linux", function (package)
  9. local configs = {}
  10. table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
  11. table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
  12. if package:config("pic") ~= false then
  13. table.insert(configs, "--with-pic")
  14. end
  15. local cflags = {}
  16. local ldflags = {}
  17. for _, dep in ipairs(package:orderdeps()) do
  18. local fetchinfo = dep:fetch()
  19. if fetchinfo then
  20. for _, includedir in ipairs(fetchinfo.includedirs or fetchinfo.sysincludedirs) do
  21. table.insert(cflags, "-I" .. includedir)
  22. end
  23. for _, linkdir in ipairs(fetchinfo.linkdirs) do
  24. table.insert(ldflags, "-L" .. linkdir)
  25. end
  26. for _, link in ipairs(fetchinfo.links) do
  27. table.insert(ldflags, "-l" .. link)
  28. end
  29. end
  30. end
  31. import("package.tools.autoconf").install(package, configs, {cflags = cflags, ldflags = ldflags})
  32. end)
  33. on_test(function (package)
  34. assert(package:has_cfuncs("acl_check", {includes = "acl/libacl.h"}))
  35. end)