]>
Commit | Line | Data |
---|---|---|
75d47db4 RL |
1 | # Note that these directories are filtered in Configure. Look for %skipdir |
2 | # there for further explanations. | |
878dc8dd | 3 | SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 conf \ |
7c6a0d90 | 4 | txt_db pkcs7 pkcs12 ui kdf store property \ |
8c77d45a | 5 | md2 md4 md5 sha mdc2 hmac ripemd whrlpool poly1305 \ |
9654924f RL |
6 | siphash sm3 des aes rc2 rc4 rc5 idea aria bf cast camellia \ |
7 | seed sm4 chacha modes bn ec rsa dsa dh sm2 dso engine \ | |
ece9304c | 8 | err comp http ocsp cms ts srp cmac ct async ess crmf cmp encode_decode \ |
4574a7fd | 9 | ffc hpke thread |
9654924f | 10 | |
777a2882 | 11 | LIBS=../libcrypto |
989b2ad7 RL |
12 | |
13 | $UPLINKSRC= | |
14 | $UPLINKDEF= | |
15 | IF[{- !$disabled{uplink} -}] | |
16 | $UPLINKSRC_common=../ms/uplink.c | |
9968c775 | 17 | $UPLINKSRC_x86=$UPLINKSRC_common uplink-x86.S |
989b2ad7 RL |
18 | $UPLINKSRC_x86_64=$UPLINKSRC_common uplink-x86_64.s |
19 | $UPLINKSRC_ia64=$UPLINKSRC_common uplink-ia64.s | |
20 | ||
21 | IF[$UPLINKSRC_{- $target{uplink_arch} -}] | |
22 | $UPLINKSRC=$UPLINKSRC_{- $target{uplink_arch} -} | |
23 | $UPLINKDEF=OPENSSL_USE_APPLINK | |
24 | ENDIF | |
25 | ENDIF | |
26 | ||
6e1ba472 RL |
27 | $CPUIDASM=mem_clr.c |
28 | $CPUIDDEF= | |
29 | IF[{- !$disabled{asm} && $config{processor} ne '386' -}] | |
9968c775 | 30 | $CPUIDASM_x86=x86cpuid.S |
6e1ba472 RL |
31 | |
32 | $CPUIDASM_x86_64=x86_64cpuid.s | |
33 | ||
34 | $CPUIDASM_ia64=ia64cpuid.s | |
35 | ||
36 | $CPUIDASM_sparcv9=sparcv9cap.c sparccpuid.S | |
37 | ||
38 | $CPUIDASM_alpha=alphacpuid.s | |
39 | ||
40 | $CPUIDASM_s390x=s390xcap.c s390xcpuid.S | |
41 | ||
42 | $CPUIDASM_armv4=armcap.c armv4cpuid.S | |
43 | ||
44 | $CPUIDASM_aarch64=armcap.c arm64cpuid.S | |
45 | ||
46 | $CPUIDASM_parisc11=pariscid.s | |
47 | $CPUIDASM_parisc20_64=$CPUIDASM_parisc11 | |
48 | ||
49 | $CPUIDASM_ppc32=ppccpuid.s ppccap.c | |
50 | $CPUIDASM_ppc64=$CPUIDASM_ppc32 | |
51 | ||
52 | $CPUIDASM_c64xplus=c64xpluscpuid.s | |
53 | ||
360f6dcc | 54 | $CPUIDASM_riscv64=riscvcap.c riscv64cpuid.s |
61170642 | 55 | $CPUIDASM_riscv32=riscvcap.c riscv32cpuid.s |
360f6dcc | 56 | |
7f2d6188 | 57 | $CPUIDASM_loongarch64=loongarchcap.c loongarch64cpuid.s |
6e1ba472 RL |
58 | # Now that we have defined all the arch specific variables, use the |
59 | # appropriate one, and define the appropriate macros | |
60 | IF[$CPUIDASM_{- $target{asm_arch} -}] | |
61 | $CPUIDASM=$CPUIDASM_{- $target{asm_arch} -} | |
62 | $CPUIDDEF=OPENSSL_CPUID_OBJ | |
63 | ENDIF | |
64 | ENDIF | |
65 | ||
ef83daf4 RL |
66 | # CPUID support. We need to add that explicitly in every shared library and |
67 | # provider module that uses it. ctype.c is included here because the CPUID | |
68 | # uses functions from there to parse magic environment variables. | |
69 | $CPUID_COMMON=$CPUIDASM cpuid.c ctype.c | |
70 | INCLUDE[cpuid.o]=.. | |
71 | ||
72 | SOURCE[../libcrypto]=$CPUID_COMMON | |
73 | DEFINE[../libcrypto]=$CPUIDDEF | |
5ad3e6c5 RL |
74 | SOURCE[../providers/libfips.a]=$CPUID_COMMON |
75 | DEFINE[../providers/libfips.a]=$CPUIDDEF | |
ef83daf4 RL |
76 | # We only need to include the CPUID stuff in the legacy provider when it's a |
77 | # separate module and it's dynamically linked with libcrypto. Otherwise, it | |
78 | # already gets everything that the static libcrypto.a has, and doesn't need it | |
79 | # added again. | |
80 | IF[{- !$disabled{module} && !$disabled{shared} -}] | |
7ee992a5 MC |
81 | SOURCE[../providers/legacy]=$CPUID_COMMON |
82 | DEFINE[../providers/legacy]=$CPUIDDEF | |
ef83daf4 RL |
83 | ENDIF |
84 | ||
85 | # Implementations are now spread across several libraries, so the CPUID define | |
86 | # need to be applied to all affected libraries and modules. | |
ef83daf4 | 87 | DEFINE[../providers/libcommon.a]=$CPUIDDEF |
c7978e50 | 88 | DEFINE[../providers/libdefault.a]=$CPUIDDEF |
ef83daf4 | 89 | |
4c2883a9 | 90 | # The Core |
a883c02f | 91 | $CORE_COMMON=provider_core.c provider_predefined.c \ |
47c239c6 | 92 | core_fetch.c core_algorithm.c core_namemap.c self_test_core.c |
4c2883a9 | 93 | |
47c239c6 | 94 | SOURCE[../libcrypto]=$CORE_COMMON provider_conf.c |
dec95d75 | 95 | SOURCE[../providers/libfips.a]=$CORE_COMMON |
3593266d | 96 | |
4c2883a9 | 97 | # Central utilities |
07c244f0 | 98 | $UTIL_COMMON=\ |
246a1f3d | 99 | cryptlib.c params.c params_from_text.c bsearch.c ex_data.c o_str.c \ |
ef83daf4 RL |
100 | threads_pthread.c threads_win.c threads_none.c initthread.c \ |
101 | context.c sparse_array.c asn1_dsa.c packet.c param_build.c \ | |
6c091ca9 | 102 | param_build_set.c der_writer.c threads_lib.c params_dup.c \ |
e84b5fcc | 103 | time.c params_idx.c |
9efa0ae0 | 104 | |
07c244f0 | 105 | SOURCE[../libcrypto]=$UTIL_COMMON \ |
742ccab3 | 106 | mem.c mem_sec.c \ |
b60cba3c | 107 | cversion.c info.c cpt_err.c ebcdic.c uid.c o_time.c o_dir.c \ |
f12a5690 | 108 | o_fopen.c getenv.c o_init.c init.c trace.c provider.c provider_child.c \ |
25624c90 TM |
109 | punycode.c passphrase.c sleep.c deterministic_nonce.c quic_vlint.c \ |
110 | time.c | |
dec95d75 | 111 | SOURCE[../providers/libfips.a]=$UTIL_COMMON |
07c244f0 | 112 | |
ef83daf4 RL |
113 | SOURCE[../libcrypto]=$UPLINKSRC |
114 | DEFINE[../libcrypto]=$UPLINKDEF | |
9efa0ae0 | 115 | |
387bbce4 | 116 | DEPEND[info.o]=buildinf.h |
777a2882 | 117 | DEPEND[cversion.o]=buildinf.h |
58d6be5b | 118 | GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)" |
567a9e6f | 119 | |
9968c775 | 120 | GENERATE[uplink-x86.S]=../ms/uplink-x86.pl |
a1c8befd RL |
121 | GENERATE[uplink-x86_64.s]=../ms/uplink-x86_64.pl |
122 | GENERATE[uplink-ia64.s]=../ms/uplink-ia64.pl | |
e84193e4 | 123 | |
9968c775 | 124 | GENERATE[x86cpuid.S]=x86cpuid.pl |
0a4edb93 | 125 | DEPEND[x86cpuid.s]=perlasm/x86asm.pl |
567a9e6f | 126 | |
a1c8befd | 127 | GENERATE[x86_64cpuid.s]=x86_64cpuid.pl |
567a9e6f | 128 | |
0a4edb93 | 129 | GENERATE[ia64cpuid.s]=ia64cpuid.S |
a1c8befd RL |
130 | GENERATE[ppccpuid.s]=ppccpuid.pl |
131 | GENERATE[pariscid.s]=pariscid.pl | |
0a4edb93 | 132 | GENERATE[alphacpuid.s]=alphacpuid.pl |
a1c8befd | 133 | GENERATE[arm64cpuid.S]=arm64cpuid.pl |
ee619197 | 134 | INCLUDE[arm64cpuid.o]=. |
a1c8befd | 135 | GENERATE[armv4cpuid.S]=armv4cpuid.pl |
ee619197 | 136 | INCLUDE[armv4cpuid.o]=. |
a1c8befd | 137 | GENERATE[s390xcpuid.S]=s390xcpuid.pl |
96530eea | 138 | INCLUDE[s390xcpuid.o]=. |
360f6dcc | 139 | GENERATE[riscv64cpuid.s]=riscv64cpuid.pl |
61170642 | 140 | GENERATE[riscv32cpuid.s]=riscv32cpuid.pl |
84af71a9 | 141 | |
7f2d6188 | 142 | GENERATE[loongarch64cpuid.s]=loongarch64cpuid.pl |
5fee3fe2 | 143 | IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-|BC-)/ -}] |
84af71a9 RL |
144 | SHARED_SOURCE[../libcrypto]=dllmain.c |
145 | ENDIF |