1 | # Note that these directories are filtered in Configure. Look for %skipdir
|
---|
2 | # there for further explanations.
|
---|
3 | SUBDIRS=objects buffer bio stack lhash rand evp asn1 pem x509 conf \
|
---|
4 | txt_db pkcs7 pkcs12 ui kdf store property \
|
---|
5 | md2 md4 md5 sha mdc2 hmac ripemd whrlpool poly1305 \
|
---|
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 \
|
---|
8 | err comp http ocsp cms ts srp cmac ct async ess crmf cmp encode_decode \
|
---|
9 | ffc
|
---|
10 |
|
---|
11 | LIBS=../libcrypto
|
---|
12 |
|
---|
13 | $UPLINKSRC=
|
---|
14 | $UPLINKDEF=
|
---|
15 | IF[{- !$disabled{uplink} -}]
|
---|
16 | $UPLINKSRC_common=../ms/uplink.c
|
---|
17 | $UPLINKSRC_x86=$UPLINKSRC_common uplink-x86.s
|
---|
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 |
|
---|
27 | $CPUIDASM=mem_clr.c
|
---|
28 | $CPUIDDEF=
|
---|
29 | IF[{- !$disabled{asm} && $config{processor} ne '386' -}]
|
---|
30 | $CPUIDASM_x86=x86cpuid.s
|
---|
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 |
|
---|
54 | # Now that we have defined all the arch specific variables, use the
|
---|
55 | # appropriate one, and define the appropriate macros
|
---|
56 | IF[$CPUIDASM_{- $target{asm_arch} -}]
|
---|
57 | $CPUIDASM=$CPUIDASM_{- $target{asm_arch} -}
|
---|
58 | $CPUIDDEF=OPENSSL_CPUID_OBJ
|
---|
59 | ENDIF
|
---|
60 | ENDIF
|
---|
61 |
|
---|
62 | # CPUID support. We need to add that explicitly in every shared library and
|
---|
63 | # provider module that uses it. ctype.c is included here because the CPUID
|
---|
64 | # uses functions from there to parse magic environment variables.
|
---|
65 | $CPUID_COMMON=$CPUIDASM cpuid.c ctype.c
|
---|
66 | INCLUDE[cpuid.o]=..
|
---|
67 |
|
---|
68 | SOURCE[../libcrypto]=$CPUID_COMMON
|
---|
69 | DEFINE[../libcrypto]=$CPUIDDEF
|
---|
70 | SOURCE[../providers/libfips.a]=$CPUID_COMMON
|
---|
71 | DEFINE[../providers/libfips.a]=$CPUIDDEF
|
---|
72 | # We only need to include the CPUID stuff in the legacy provider when it's a
|
---|
73 | # separate module and it's dynamically linked with libcrypto. Otherwise, it
|
---|
74 | # already gets everything that the static libcrypto.a has, and doesn't need it
|
---|
75 | # added again.
|
---|
76 | IF[{- !$disabled{module} && !$disabled{shared} -}]
|
---|
77 | SOURCE[../providers/liblegacy.a]=$CPUID_COMMON
|
---|
78 | DEFINE[../providers/liblegacy.a]=$CPUIDDEF
|
---|
79 | ENDIF
|
---|
80 |
|
---|
81 | # Implementations are now spread across several libraries, so the CPUID define
|
---|
82 | # need to be applied to all affected libraries and modules.
|
---|
83 | DEFINE[../providers/libcommon.a]=$CPUIDDEF
|
---|
84 | DEFINE[../providers/libdefault.a]=$CPUIDDEF
|
---|
85 |
|
---|
86 | # The Core
|
---|
87 | $CORE_COMMON=provider_core.c provider_predefined.c \
|
---|
88 | core_fetch.c core_algorithm.c core_namemap.c self_test_core.c
|
---|
89 |
|
---|
90 | SOURCE[../libcrypto]=$CORE_COMMON provider_conf.c
|
---|
91 | SOURCE[../providers/libfips.a]=$CORE_COMMON
|
---|
92 |
|
---|
93 | # Central utilities
|
---|
94 | $UTIL_COMMON=\
|
---|
95 | cryptlib.c params.c params_from_text.c bsearch.c ex_data.c o_str.c \
|
---|
96 | threads_pthread.c threads_win.c threads_none.c initthread.c \
|
---|
97 | context.c sparse_array.c asn1_dsa.c packet.c param_build.c \
|
---|
98 | param_build_set.c der_writer.c threads_lib.c params_dup.c
|
---|
99 |
|
---|
100 | SOURCE[../libcrypto]=$UTIL_COMMON \
|
---|
101 | mem.c mem_sec.c \
|
---|
102 | cversion.c info.c cpt_err.c ebcdic.c uid.c o_time.c o_dir.c \
|
---|
103 | o_fopen.c getenv.c o_init.c init.c trace.c provider.c provider_child.c \
|
---|
104 | punycode.c passphrase.c
|
---|
105 | SOURCE[../providers/libfips.a]=$UTIL_COMMON
|
---|
106 |
|
---|
107 | SOURCE[../libcrypto]=$UPLINKSRC
|
---|
108 | DEFINE[../libcrypto]=$UPLINKDEF
|
---|
109 |
|
---|
110 | DEPEND[info.o]=buildinf.h
|
---|
111 | DEPEND[cversion.o]=buildinf.h
|
---|
112 | GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
|
---|
113 |
|
---|
114 | GENERATE[uplink-x86.s]=../ms/uplink-x86.pl
|
---|
115 | GENERATE[uplink-x86_64.s]=../ms/uplink-x86_64.pl
|
---|
116 | GENERATE[uplink-ia64.s]=../ms/uplink-ia64.pl
|
---|
117 |
|
---|
118 | GENERATE[x86cpuid.s]=x86cpuid.pl
|
---|
119 | DEPEND[x86cpuid.s]=perlasm/x86asm.pl
|
---|
120 |
|
---|
121 | GENERATE[x86_64cpuid.s]=x86_64cpuid.pl
|
---|
122 |
|
---|
123 | GENERATE[ia64cpuid.s]=ia64cpuid.S
|
---|
124 | GENERATE[ppccpuid.s]=ppccpuid.pl
|
---|
125 | GENERATE[pariscid.s]=pariscid.pl
|
---|
126 | GENERATE[alphacpuid.s]=alphacpuid.pl
|
---|
127 | GENERATE[arm64cpuid.S]=arm64cpuid.pl
|
---|
128 | INCLUDE[arm64cpuid.o]=.
|
---|
129 | GENERATE[armv4cpuid.S]=armv4cpuid.pl
|
---|
130 | INCLUDE[armv4cpuid.o]=.
|
---|
131 | GENERATE[s390xcpuid.S]=s390xcpuid.pl
|
---|
132 | INCLUDE[s390xcpuid.o]=.
|
---|
133 |
|
---|
134 | IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-|BC-)/ -}]
|
---|
135 | SHARED_SOURCE[../libcrypto]=dllmain.c
|
---|
136 | ENDIF
|
---|