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.
 
 
 
 
 
 

79 rivejä
1.2 KiB

  1. include_directories(. .. ../../include)
  2. if (${ARCH} STREQUAL "x86_64")
  3. set(
  4. BN_ARCH_SOURCES
  5. asm/x86_64-gcc.c
  6. x86_64-mont.${ASM_EXT}
  7. x86_64-mont5.${ASM_EXT}
  8. modexp512-x86_64.${ASM_EXT}
  9. rsaz-x86_64.${ASM_EXT}
  10. rsaz-avx2.${ASM_EXT}
  11. rsaz_exp.c
  12. )
  13. endif()
  14. if (${ARCH} STREQUAL "x86")
  15. set(
  16. BN_ARCH_SOURCES
  17. bn-586.${ASM_EXT}
  18. co-586.${ASM_EXT}
  19. x86-mont.${ASM_EXT}
  20. )
  21. endif()
  22. if (${ARCH} STREQUAL "arm")
  23. set(
  24. BN_ARCH_SOURCES
  25. armv4-mont.${ASM_EXT}
  26. )
  27. endif()
  28. add_library(
  29. bn
  30. OBJECT
  31. bn_error.c
  32. add.c
  33. bn.c
  34. cmp.c
  35. convert.c
  36. ctx.c
  37. div.c
  38. exponentiation.c
  39. generic.c
  40. gcd.c
  41. kronecker.c
  42. montgomery.c
  43. mul.c
  44. prime.c
  45. random.c
  46. shift.c
  47. sqrt.c
  48. ${BN_ARCH_SOURCES}
  49. )
  50. perlasm(x86_64-mont.${ASM_EXT} asm/x86_64-mont.pl)
  51. perlasm(x86_64-mont5.${ASM_EXT} asm/x86_64-mont5.pl)
  52. perlasm(modexp512-x86_64.${ASM_EXT} asm/modexp512-x86_64.pl)
  53. perlasm(rsaz-x86_64.${ASM_EXT} asm/rsaz-x86_64.pl)
  54. perlasm(rsaz-avx2.${ASM_EXT} asm/rsaz-avx2.pl)
  55. perlasm(bn-586.${ASM_EXT} asm/bn-586.pl)
  56. perlasm(co-586.${ASM_EXT} asm/co-586.pl)
  57. perlasm(x86-mont.${ASM_EXT} asm/x86-mont.pl)
  58. perlasm(armv4-mont.${ASM_EXT} asm/armv4-mont.pl)
  59. add_executable(
  60. bn_test
  61. bn_test.c
  62. )
  63. target_link_libraries(bn_test crypto)