xmake.lua 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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_urls("https://distfiles.gentoo.org/distfiles/78/libtool-$(version).tar.xz", {alias = "temp"})
  9. add_versions("2.4.6", "e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3")
  10. add_versions("2.4.5", "509cb49c7de14ce7eaf88993cf09fd4071882699dfd874c2e95b31ab107d6987")
  11. add_versions("2.4.7", "04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8")
  12. add_versions("2.5.4", "da8ebb2ce4dcf46b90098daf962cffa68f4b4f62ea60f798d0ef12929ede6adf")
  13. add_versions("temp:2.6.0", "69e6d28ae880fda08e0dc080ef2e38077ea2765a0d84e1afcfcfe1e605c911ac")
  14. on_load(function (package)
  15. if package:is_library() then
  16. package:addenv("PATH", "bin")
  17. end
  18. end)
  19. if is_plat("linux") then
  20. add_syslinks("dl")
  21. end
  22. if is_host("linux") then
  23. add_extsources("apt::libtool", "pacman::libtool")
  24. elseif is_host("macosx") then
  25. add_extsources("brew::libtool")
  26. end
  27. add_deps("autoconf")
  28. on_install("@macosx", "@linux", "@bsd", function (package)
  29. local configs = {"--disable-dependency-tracking", "--enable-ltdl-install"}
  30. table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
  31. table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
  32. import("package.tools.autoconf").install(package, configs)
  33. if package:is_plat("macosx") then
  34. local bindir = package:installdir("bin")
  35. os.ln(path.join(bindir, "libtoolize"), path.join(bindir, "glibtoolize"))
  36. end
  37. end)
  38. on_test(function (package)
  39. if not package:is_binary() then
  40. assert(package:has_cfuncs("lt_dlopen", {includes = "ltdl.h"}))
  41. else
  42. os.vrun("libtool --version")
  43. end
  44. end)