xmake.lua 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package("gperf")
  2. set_kind("binary")
  3. set_homepage("https://www.gnu.org/software/gperf")
  4. set_description("Perfect hash function generator.")
  5. set_license("GPL-3.0-or-later")
  6. set_urls("https://ftpmirror.gnu.org/gnu/gperf/gperf-$(version).tar.gz",
  7. "https://ftp.gnu.org/gnu/gperf/gperf-$(version).tar.gz")
  8. add_versions("3.1", "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2")
  9. if is_host("linux") then
  10. add_extsources("apt::gperf", "pacman::gperf")
  11. end
  12. on_install("@windows", function (package)
  13. os.cp("src/config.h.in", "src/config.h")
  14. io.writefile("xmake.lua", [[
  15. add_rules("mode.debug", "mode.release")
  16. target("gperf")
  17. set_kind("binary")
  18. add_files("lib/*.c", "lib/*.cc", "src/*.cc")
  19. add_includedirs("lib", "src")
  20. ]])
  21. import("package.tools.xmake").install(package)
  22. end)
  23. on_install("@macosx", "@linux", "@bsd", "@msys", function (package)
  24. io.replace("lib/getline.cc", "register", "", {plain = true})
  25. io.replace("lib/getopt.c", "register", "", {plain = true})
  26. import("package.tools.autoconf").install(package)
  27. end)
  28. on_test(function (package)
  29. os.vrun("gperf --version")
  30. end)