ecx: update to structure based atomics
[openssl.git] / crypto / ec / build.info
1 $ECASM=
2 IF[{- !$disabled{asm} -}]
3   $ECASM_x86=ecp_nistz256.c ecp_nistz256-x86.S
4   $ECDEF_x86=ECP_NISTZ256_ASM
5
6   $ECASM_x86_64=ecp_nistz256.c ecp_nistz256-x86_64.s
7   $ECDEF_x86_64=ECP_NISTZ256_ASM
8   IF[{- !$disabled{'ecx'} -}]
9     $ECASM_x86_64=$ECASM_x86_64 x25519-x86_64.s
10     $ECDEF_x86_64=$ECDEF_x86_64 X25519_ASM
11   ENDIF
12   $ECASM_ia64=
13
14   $ECASM_sparcv9=ecp_nistz256.c ecp_nistz256-sparcv9.S
15   $ECDEF_sparcv9=ECP_NISTZ256_ASM
16
17   $ECASM_sparcv8=
18
19   $ECASM_alpha=
20
21   $ECASM_mips32=
22   $ECASM_mips64=
23
24   $ECASM_s390x=ecp_s390x_nistp.c
25   IF[{- !$disabled{'ecx'} -}]
26     $ECASM_s390x=$ECASM_s390x ecx_s390x.c
27   ENDIF
28   $ECDEF_s390x=S390X_EC_ASM
29
30   $ECASM_armv4=ecp_nistz256.c ecp_nistz256-armv4.S
31   $ECDEF_armv4=ECP_NISTZ256_ASM
32   $ECASM_aarch64=ecp_nistz256.c ecp_nistz256-armv8.S
33   $ECDEF_aarch64=ECP_NISTZ256_ASM
34
35   $ECASM_parisc11=
36   $ECASM_parisc20_64=
37
38   $ECASM_ppc32=
39   $ECASM_ppc64=ecp_nistz256.c ecp_ppc.c ecp_nistz256-ppc64.s
40   $ECDEF_ppc64=ECP_NISTZ256_ASM
41   IF[{- !$disabled{'ec_nistp_64_gcc_128'} -}]
42     $ECASM_ppc64=$ECASM_ppc64 ecp_nistp521-ppc64.s
43     $ECDEF_ppc64=$ECDEF_ppc64 ECP_NISTP521_ASM
44     INCLUDE[ecp_nistp521.o]=..
45   ENDIF
46   IF[{- !$disabled{'ecx'} -}]
47     $ECASM_ppc64=$ECASM_ppc64 x25519-ppc64.s
48     $ECDEF_ppc64=$ECDEF_ppc64 X25519_ASM
49     INCLUDE[ecx_s390x.o]=..
50   ENDIF
51
52   $ECASM_c64xplus=
53
54   # Now that we have defined all the arch specific variables, use the
55   # appropriate one, and define the appropriate macros
56   IF[$ECASM_{- $target{asm_arch} -}]
57     $ECASM=$ECASM_{- $target{asm_arch} -}
58     $ECDEF=$ECDEF_{- $target{asm_arch} -}
59   ENDIF
60 ENDIF
61
62 $COMMON=ec_lib.c ecp_smpl.c ecp_mont.c ecp_nist.c ec_cvt.c ec_mult.c \
63         ec_curve.c ec_check.c ec_key.c ec_kmeth.c ec_asn1.c \
64         ec2_smpl.c \
65         ecp_oct.c ec2_oct.c ec_oct.c ecdh_ossl.c \
66         ecdsa_ossl.c ecdsa_sign.c ecdsa_vrf.c \
67         $ECASM ec_backend.c ecdh_kdf.c
68
69 IF[{- !$disabled{'ecx'} -}]
70   $COMMON=$COMMON curve25519.c curve448/f_generic.c curve448/scalar.c \
71   curve448/arch_64/f_impl64.c ecx_backend.c curve448/arch_32/f_impl32.c \
72   curve448/curve448_tables.c curve448/eddsa.c curve448/curve448.c \
73   ecx_key.c
74 ENDIF
75
76 IF[{- !$disabled{'ec_nistp_64_gcc_128'} -}]
77   $COMMON=$COMMON ecp_nistp224.c ecp_nistp256.c ecp_nistp521.c ecp_nistputil.c
78 ENDIF
79
80 SOURCE[../../libcrypto]=$COMMON ec_ameth.c ec_pmeth.c \
81                         ec_err.c eck_prn.c \
82                         ec_deprecated.c ec_print.c
83 IF[{- !$disabled{'ecx'} -}]
84   SOURCE[../../libcrypto]=ecx_meth.c
85 ENDIF
86 SOURCE[../../providers/libfips.a]=$COMMON
87
88 # Implementations are now spread across several libraries, so the defines
89 # need to be applied to all affected libraries and modules.
90 DEFINE[../../libcrypto]=$ECDEF
91 DEFINE[../../providers/libfips.a]=$ECDEF
92 DEFINE[../../providers/libdefault.a]=$ECDEF
93 # We only need to include the ECDEF stuff in the legacy provider when
94 # it's a separate module and it's dynamically linked with libcrypto.
95 # Otherwise, it already gets everything that the static libcrypto.a
96 # has, and doesn't need it added again.
97 IF[{- !$disabled{module} && !$disabled{shared} -}]
98   DEFINE[../providers/liblegacy.a]=$ECDEF
99 ENDIF
100
101 GENERATE[ecp_nistz256-x86.S]=asm/ecp_nistz256-x86.pl
102
103 GENERATE[ecp_nistz256-x86_64.s]=asm/ecp_nistz256-x86_64.pl
104
105 GENERATE[ecp_nistz256-avx2.s]=asm/ecp_nistz256-avx2.pl
106
107 GENERATE[ecp_nistz256-sparcv9.S]=asm/ecp_nistz256-sparcv9.pl
108 INCLUDE[ecp_nistz256-sparcv9.o]=..
109
110 INCLUDE[ecp_s390x_nistp.o]=..
111 IF[{- !$disabled{'ecx'} -}]
112   INCLUDE[ecx_meth.o]=..
113   INCLUDE[ecx_key.o]=..
114 ENDIF
115
116 GENERATE[ecp_nistz256-armv4.S]=asm/ecp_nistz256-armv4.pl
117 INCLUDE[ecp_nistz256-armv4.o]=..
118 GENERATE[ecp_nistz256-armv8.S]=asm/ecp_nistz256-armv8.pl
119 INCLUDE[ecp_nistz256-armv8.o]=..
120 GENERATE[ecp_nistz256-ppc64.s]=asm/ecp_nistz256-ppc64.pl
121
122 GENERATE[ecp_nistp521-ppc64.s]=asm/ecp_nistp521-ppc64.pl
123
124 IF[{- !$disabled{'ecx'} -}]
125 GENERATE[x25519-x86_64.s]=asm/x25519-x86_64.pl
126 GENERATE[x25519-ppc64.s]=asm/x25519-ppc64.pl
127 ENDIF