Home | History | Annotate | Download | only in bn
      1 include_directories(. .. ../../include)
      2 
      3 if (${ARCH} STREQUAL "x86_64")
      4   set(
      5     BN_ARCH_SOURCES
      6 
      7     x86_64-mont.${ASM_EXT}
      8     x86_64-mont5.${ASM_EXT}
      9     rsaz-x86_64.${ASM_EXT}
     10     rsaz-avx2.${ASM_EXT}
     11 
     12     rsaz_exp.c
     13   )
     14 endif()
     15 
     16 if (${ARCH} STREQUAL "x86")
     17   set(
     18     BN_ARCH_SOURCES
     19 
     20     bn-586.${ASM_EXT}
     21     co-586.${ASM_EXT}
     22     x86-mont.${ASM_EXT}
     23   )
     24 endif()
     25 
     26 if (${ARCH} STREQUAL "arm")
     27   set(
     28     BN_ARCH_SOURCES
     29 
     30     armv4-mont.${ASM_EXT}
     31   )
     32 endif()
     33 
     34 add_library(
     35   bn
     36 
     37   OBJECT
     38 
     39   add.c
     40   asm/x86_64-gcc.c
     41   bn.c
     42   cmp.c
     43   convert.c
     44   ctx.c
     45   div.c
     46   exponentiation.c
     47   generic.c
     48   gcd.c
     49   kronecker.c
     50   montgomery.c
     51   mul.c
     52   prime.c
     53   random.c
     54   shift.c
     55   sqrt.c
     56 
     57   ${BN_ARCH_SOURCES}
     58 )
     59 
     60 perlasm(x86_64-mont.${ASM_EXT} asm/x86_64-mont.pl)
     61 perlasm(x86_64-mont5.${ASM_EXT} asm/x86_64-mont5.pl)
     62 perlasm(rsaz-x86_64.${ASM_EXT} asm/rsaz-x86_64.pl)
     63 perlasm(rsaz-avx2.${ASM_EXT} asm/rsaz-avx2.pl)
     64 perlasm(bn-586.${ASM_EXT} asm/bn-586.pl)
     65 perlasm(co-586.${ASM_EXT} asm/co-586.pl)
     66 perlasm(x86-mont.${ASM_EXT} asm/x86-mont.pl)
     67 perlasm(armv4-mont.${ASM_EXT} asm/armv4-mont.pl)
     68 
     69 add_executable(
     70   bn_test
     71 
     72   bn_test.cc
     73 
     74   $<TARGET_OBJECTS:test_support>
     75 )
     76 
     77 target_link_libraries(bn_test crypto)
     78