xmake.lua 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package("libtool")
  2. set_homepage("https://www.gnu.org/software/libtool/")
  3. set_description("A generic library support script.")
  4. set_kind("binary")
  5. add_urls("http://ftpmirror.gnu.org/libtool/libtool-$(version).tar.gz",
  6. "https://mirrors.ustc.edu.cn/gnu/libtool/libtool-$(version).tar.gz",
  7. "git://git.savannah.gnu.org/libtool.git")
  8. add_versions("2.4.6", "e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3")
  9. add_versions("2.4.5", "509cb49c7de14ce7eaf88993cf09fd4071882699dfd874c2e95b31ab107d6987")
  10. add_versions("2.4.7", "04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8")
  11. on_load(function (package)
  12. if package:is_library() then
  13. package:addenv("PATH", "bin")
  14. end
  15. end)
  16. if is_plat("linux") then
  17. add_syslinks("dl")
  18. end
  19. if is_host("linux") then
  20. add_extsources("apt::libtool", "pacman::libtool")
  21. elseif is_host("macosx") then
  22. add_extsources("brew::libtool")
  23. end
  24. add_deps("autoconf")
  25. on_install("@macosx", "@linux", "@bsd", function (package)
  26. local configs = {"--disable-dependency-tracking", "--enable-ltdl-install"}
  27. table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
  28. table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
  29. import("package.tools.autoconf").install(package, configs)
  30. if package:is_plat("macosx") then
  31. local bindir = package:installdir("bin")
  32. os.ln(path.join(bindir, "libtoolize"), path.join(bindir, "glibtoolize"))
  33. end
  34. end)
  35. on_test(function (package)
  36. if not package:is_binary() then
  37. assert(package:has_cfuncs("lt_dlopen", {includes = "ltdl.h"}))
  38. else
  39. os.vrun("libtool --version")
  40. end
  41. end)