xmake.lua 1.3 KB

12345678910111213141516171819202122232425262728
  1. package("libpfm")
  2. set_homepage("http://perfmon2.sourceforge.net/")
  3. set_description("improving performance monitoring on Linux")
  4. set_license("MIT")
  5. add_urls("http://sourceforge.net/projects/perfmon2/files/libpfm4/libpfm-$(version).tar.gz")
  6. add_versions("4.11.0", "5da5f8872bde14b3634c9688d980f68bda28b510268723cc12973eedbab9fecc")
  7. on_install("linux", function (package)
  8. if package:config("shared") then
  9. io.replace("lib/Makefile", "TARGETS=$(ALIBPFM)", "TARGETS=", {plain = true})
  10. io.replace("lib/Makefile", "$(INSTALL) -m 644 $(ALIBPFM) $(DESTDIR)$(LIBDIR)", "", {plain = true})
  11. end
  12. local args = {}
  13. table.insert(args, "CC=" .. package:build_getenv("cc"))
  14. table.insert(args, "DBG=")
  15. table.insert(args, "CONFIG_PFMLIB_DEBUG=" .. (package:debug() and "y" or "n"))
  16. table.insert(args, "CONFIG_PFMLIB_SHARED=" .. (package:config("shared") and "y" or "n"))
  17. table.insert(args, "CONFIG_PFMLIB_NOPYTHON=y")
  18. table.insert(args, "PREFIX=" .. package:installdir())
  19. os.vrunv("make", table.join({"lib"}, args))
  20. os.vrunv("make", table.join({"install"}, args))
  21. end)
  22. on_test(function (package)
  23. assert(package:has_cfuncs("pfm_initialize", {includes = "perfmon/pfmlib.h"}))
  24. end)