build.info 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. # We make separate GOAL variables for each algorithm, to make it easy to
  2. # switch each to the Legacy provider when needed.
  3. #
  4. # $TDES_1_GOAL and $TDES_2_GOAL separate FIPSable and non-FIPSable TDES.
  5. # The latter may become legacy sooner, so it's comfortable to have two
  6. # variables already now, to switch the non-FIPSable TDES to legacy if needed.
  7. $COMMON_GOAL=../../libcommon.a
  8. $NULL_GOAL=../../libdefault.a
  9. $AES_GOAL=../../libdefault.a ../../libfips.a
  10. $TDES_1_GOAL=../../libdefault.a ../../libfips.a
  11. $TDES_2_GOAL=../../libdefault.a
  12. $ARIA_GOAL=../../libdefault.a
  13. $CAMELLIA_GOAL=../../libdefault.a
  14. $DES_GOAL=../../liblegacy.a
  15. $BLOWFISH_GOAL=../../liblegacy.a
  16. $IDEA_GOAL=../../liblegacy.a
  17. $CAST5_GOAL=../../liblegacy.a
  18. $RC2_GOAL=../../liblegacy.a
  19. $RC4_GOAL=../../liblegacy.a
  20. $RC5_GOAL=../../liblegacy.a
  21. $SEED_GOAL=../../liblegacy.a
  22. $SM4_GOAL=../../libdefault.a
  23. $CHACHA_GOAL=../../libdefault.a
  24. $CHACHAPOLY_GOAL=../../libdefault.a
  25. $SIV_GOAL=../../libdefault.a
  26. $SIV_GCM_GOAL=../../libdefault.a
  27. IF[{- !$disabled{asm} -}]
  28. $GHASHDEF_x86=GHASH_ASM
  29. $GHASHDEF_x86_sse2=OPENSSL_IA32_SSE2
  30. $GHASHDEF_x86_64=GHASH_ASM
  31. $GHASHDEF_x86_64_sse2=OPENSSL_IA32_SSE2
  32. # ghash-ia64.s doesn't work on VMS
  33. IF[{- $config{target} !~ /^vms-/ -}]
  34. $GHASHDEF_ia64=GHASH_ASM
  35. ENDIF
  36. $GHASHDEF_sparcv9=GHASH_ASM
  37. $GHASHDEF_alpha=GHASH_ASM
  38. $GHASHDEF_s390x=GHASH_ASM
  39. $GHASHDEF_armv4=GHASH_ASM
  40. $GHASHDEF_aarch64=
  41. $GHASHDEF_parisc11=GHASH_ASM
  42. $GHASHDEF_parisc20_64=$GHASHDEF_parisc11
  43. $GHASHDEF_ppc32=
  44. $GHASHDEF_ppc64=$GHASHDEF_ppc32
  45. $GHASHDEF_c64xplus=GHASH_ASM
  46. $GHASHDEF_riscv64=GHASH_ASM
  47. # Now that we have defined all the arch specific variables, use the
  48. # appropriate one, and define the appropriate macros
  49. IF[$GHASHDEF_{- $target{asm_arch} -}]
  50. $GHASHDEF=$GHASHDEF_{- $target{asm_arch} -}
  51. IF[{- !$disabled{sse2} -}]
  52. IF[$GHASHDEF_{- $target{asm_arch} -}_sse2]
  53. $GHASHDEF=$GHASHDEF_{- $target{asm_arch} -}_sse2
  54. ENDIF
  55. ENDIF
  56. ENDIF
  57. ENDIF
  58. # This source is common building blocks for all ciphers in all our providers.
  59. SOURCE[$COMMON_GOAL]=\
  60. ciphercommon.c ciphercommon_hw.c ciphercommon_block.c \
  61. ciphercommon_gcm.c ciphercommon_gcm_hw.c \
  62. ciphercommon_ccm.c ciphercommon_ccm_hw.c
  63. IF[{- !$disabled{des} -}]
  64. SOURCE[$TDES_1_GOAL]=cipher_tdes.c cipher_tdes_common.c cipher_tdes_hw.c
  65. ENDIF
  66. SOURCE[$NULL_GOAL]=\
  67. cipher_null.c
  68. SOURCE[$AES_GOAL]=\
  69. cipher_aes.c cipher_aes_hw.c \
  70. cipher_aes_xts.c cipher_aes_xts_hw.c \
  71. cipher_aes_gcm.c cipher_aes_gcm_hw.c \
  72. cipher_aes_ccm.c cipher_aes_ccm_hw.c \
  73. cipher_aes_wrp.c \
  74. cipher_aes_cbc_hmac_sha.c \
  75. cipher_aes_cbc_hmac_sha256_hw.c cipher_aes_cbc_hmac_sha1_hw.c \
  76. cipher_cts.c
  77. # Extra code to satisfy the FIPS and non-FIPS separation.
  78. # When the AES-xxx-XTS moves to legacy, cipher_aes_xts_fips.c can be removed.
  79. SOURCE[$AES_GOAL]=cipher_aes_xts_fips.c
  80. IF[{- !$disabled{siv} -}]
  81. DEFINE[$SIV_GCM_GOAL]=$GHASHDEF
  82. SOURCE[$SIV_GCM_GOAL]=\
  83. cipher_aes_gcm_siv.c cipher_aes_gcm_siv_hw.c \
  84. cipher_aes_gcm_siv_polyval.c
  85. SOURCE[$SIV_GOAL]=cipher_aes_siv.c cipher_aes_siv_hw.c
  86. ENDIF
  87. IF[{- !$disabled{des} -}]
  88. SOURCE[$TDES_2_GOAL]=\
  89. cipher_tdes_default.c cipher_tdes_default_hw.c \
  90. cipher_tdes_wrap.c cipher_tdes_wrap_hw.c
  91. SOURCE[$DES_GOAL]=\
  92. cipher_desx.c cipher_desx_hw.c \
  93. cipher_des.c cipher_des_hw.c
  94. IF[{- !$disabled{module} -}]
  95. SOURCE[$DES_GOAL]=\
  96. cipher_tdes_common.c
  97. ENDIF
  98. ENDIF
  99. IF[{- !$disabled{aria} -}]
  100. SOURCE[$ARIA_GOAL]=\
  101. cipher_aria.c cipher_aria_hw.c \
  102. cipher_aria_gcm.c cipher_aria_gcm_hw.c \
  103. cipher_aria_ccm.c cipher_aria_ccm_hw.c
  104. ENDIF
  105. IF[{- !$disabled{camellia} -}]
  106. SOURCE[$CAMELLIA_GOAL]=\
  107. cipher_camellia.c cipher_camellia_hw.c
  108. ENDIF
  109. IF[{- !$disabled{bf} -}]
  110. SOURCE[$BLOWFISH_GOAL]=\
  111. cipher_blowfish.c cipher_blowfish_hw.c
  112. ENDIF
  113. IF[{- !$disabled{idea} -}]
  114. SOURCE[$IDEA_GOAL]=\
  115. cipher_idea.c cipher_idea_hw.c
  116. ENDIF
  117. IF[{- !$disabled{cast} -}]
  118. SOURCE[$CAST5_GOAL]=\
  119. cipher_cast5.c cipher_cast5_hw.c
  120. ENDIF
  121. IF[{- !$disabled{seed} -}]
  122. SOURCE[$SEED_GOAL]=\
  123. cipher_seed.c cipher_seed_hw.c
  124. ENDIF
  125. IF[{- !$disabled{sm4} -}]
  126. SOURCE[$SM4_GOAL]=\
  127. cipher_sm4.c cipher_sm4_hw.c \
  128. cipher_sm4_gcm.c cipher_sm4_gcm_hw.c \
  129. cipher_sm4_ccm.c cipher_sm4_ccm_hw.c \
  130. cipher_sm4_xts.c cipher_sm4_xts_hw.c
  131. ENDIF
  132. IF[{- !$disabled{ocb} -}]
  133. SOURCE[$AES_GOAL]=\
  134. cipher_aes_ocb.c cipher_aes_ocb_hw.c
  135. ENDIF
  136. IF[{- !$disabled{rc4} -}]
  137. SOURCE[$RC4_GOAL]=\
  138. cipher_rc4.c cipher_rc4_hw.c
  139. IF[{- !$disabled{md5} -}]
  140. SOURCE[$RC4_GOAL]=\
  141. cipher_rc4_hmac_md5.c cipher_rc4_hmac_md5_hw.c
  142. ENDIF
  143. ENDIF
  144. IF[{- !$disabled{rc5} -}]
  145. SOURCE[$RC5_GOAL]=\
  146. cipher_rc5.c cipher_rc5_hw.c
  147. ENDIF
  148. IF[{- !$disabled{rc2} -}]
  149. SOURCE[$RC2_GOAL]=\
  150. cipher_rc2.c cipher_rc2_hw.c
  151. ENDIF
  152. IF[{- !$disabled{chacha} -}]
  153. SOURCE[$CHACHA_GOAL]=\
  154. cipher_chacha20.c cipher_chacha20_hw.c
  155. IF[{- !$disabled{poly1305} -}]
  156. SOURCE[$CHACHAPOLY_GOAL]=\
  157. cipher_chacha20_poly1305.c cipher_chacha20_poly1305_hw.c
  158. ENDIF
  159. ENDIF