xmake.lua 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. add_versions("2.5.4", "da8ebb2ce4dcf46b90098daf962cffa68f4b4f62ea60f798d0ef12929ede6adf")
  12. on_load(function (package)
  13. if package:is_library() then
  14. package:addenv("PATH", "bin")
  15. end
  16. end)
  17. if is_plat("linux") then
  18. add_syslinks("dl")
  19. end
  20. if is_host("linux") then
  21. add_extsources("apt::libtool", "pacman::libtool")
  22. elseif is_host("macosx") then
  23. add_extsources("brew::libtool")
  24. end
  25. add_deps("autoconf")
  26. on_install("@macosx", "@linux", "@bsd", function (package)
  27. local configs = {"--disable-dependency-tracking", "--enable-ltdl-install"}
  28. table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
  29. table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
  30. import("package.tools.autoconf").install(package, configs)
  31. if package:is_plat("macosx") then
  32. local bindir = package:installdir("bin")
  33. os.ln(path.join(bindir, "libtoolize"), path.join(bindir, "glibtoolize"))
  34. end
  35. end)
  36. on_test(function (package)
  37. if not package:is_binary() then
  38. assert(package:has_cfuncs("lt_dlopen", {includes = "ltdl.h"}))
  39. else
  40. os.vrun("libtool --version")
  41. end
  42. end)