xmake.lua 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. option("openmp", {default = false})
  2. option("sse", {default = false})
  3. option("neno", {default = false})
  4. if has_config("openmp") then
  5. add_requires("openmp")
  6. add_packages("openmp")
  7. end
  8. add_rules("mode.debug", "mode.release")
  9. target("blake2")
  10. set_kind("$(kind)")
  11. add_headerfiles("ref/blake2.h")
  12. add_files("src/blake2bp.c", "src/blake2sp.c")
  13. if has_config("sse") then
  14. add_files(
  15. "sse/blake2b.c",
  16. "sse/blake2bp.c",
  17. "sse/blake2s.c",
  18. "sse/blake2sp.c",
  19. "sse/blake2xb.c",
  20. "sse/blake2xs.c"
  21. )
  22. add_vectorexts("all")
  23. elseif has_config("neno") then
  24. add_files(
  25. "neon/blake2b-neon.c",
  26. "neon/blake2bp.c",
  27. "neon/blake2s-neon",
  28. "neon/blake2xb.c",
  29. "neon/blake2sp.c",
  30. "neon/blake2xs.c"
  31. )
  32. add_vectorexts("all")
  33. else
  34. add_files(
  35. "ref/blake2bp-ref.c",
  36. "ref/blake2b-ref.c",
  37. "ref/blake2sp-refon",
  38. "ref/blake2s-ref.c",
  39. "ref/blake2xb-ref.c",
  40. "ref/blake2xs-ref.c"
  41. )
  42. end
  43. if is_plat("windows") and is_kind("shared") then
  44. add_rules("utils.symbols.export_all")
  45. end
  46. if is_plat("linux", "bsd") then
  47. add_syslinks("m")
  48. end