You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
1.4 KiB

  1. include_directories(. .. ../../include)
  2. if (${ARCH} STREQUAL "x86_64")
  3. set(
  4. SHA_ARCH_SOURCES
  5. sha1-x86_64.${ASM_EXT}
  6. sha256-x86_64.${ASM_EXT}
  7. sha512-x86_64.${ASM_EXT}
  8. )
  9. endif()
  10. if (${ARCH} STREQUAL "x86")
  11. set(
  12. SHA_ARCH_SOURCES
  13. sha1-586.${ASM_EXT}
  14. sha256-586.${ASM_EXT}
  15. sha512-586.${ASM_EXT}
  16. )
  17. endif()
  18. if (${ARCH} STREQUAL "arm")
  19. set(
  20. SHA_ARCH_SOURCES
  21. sha1-armv4-large.${ASM_EXT}
  22. sha256-armv4.${ASM_EXT}
  23. sha512-armv4.${ASM_EXT}
  24. )
  25. endif()
  26. if (${ARCH} STREQUAL "aarch64")
  27. set(
  28. SHA_ARCH_SOURCES
  29. sha1-armv8.${ASM_EXT}
  30. sha256-armv8.${ASM_EXT}
  31. sha512-armv8.${ASM_EXT}
  32. )
  33. endif()
  34. add_library(
  35. sha
  36. OBJECT
  37. sha1.c
  38. sha256.c
  39. sha512.c
  40. ${SHA_ARCH_SOURCES}
  41. )
  42. perlasm(sha1-x86_64.${ASM_EXT} asm/sha1-x86_64.pl)
  43. perlasm(sha256-x86_64.${ASM_EXT} asm/sha512-x86_64.pl sha256)
  44. perlasm(sha512-x86_64.${ASM_EXT} asm/sha512-x86_64.pl sha512)
  45. perlasm(sha1-586.${ASM_EXT} asm/sha1-586.pl)
  46. perlasm(sha256-586.${ASM_EXT} asm/sha256-586.pl)
  47. perlasm(sha512-586.${ASM_EXT} asm/sha512-586.pl)
  48. perlasm(sha1-armv4-large.${ASM_EXT} asm/sha1-armv4-large.pl)
  49. perlasm(sha256-armv4.${ASM_EXT} asm/sha256-armv4.pl)
  50. perlasm(sha512-armv4.${ASM_EXT} asm/sha512-armv4.pl)
  51. perlasm(sha1-armv8.${ASM_EXT} asm/sha1-armv8.pl)
  52. perlasm(sha256-armv8.${ASM_EXT} asm/sha512-armv8.pl sha256)
  53. perlasm(sha512-armv8.${ASM_EXT} asm/sha512-armv8.pl sha512)