2 our $sover = $config{shlib_version_number};
3 our $sover_filename = $sover;
4 $sover_filename =~ s|\.|_|g
5 if $config{target} =~ /^mingw/ || $config{target} =~ /^VC-/;
7 sprintf "%02d%02d", split m|\.|, $config{shlib_version_number}
8 if $config{target} =~ /^vms/;
12 INCLUDE[libcrypto]=. crypto/include include
13 INCLUDE[libssl]=. include
14 DEPEND[libssl]=libcrypto
16 # Empty DEPEND "indices" means the dependencies are expected to be built
17 # unconditionally before anything else.
18 DEPEND[]=include/openssl/opensslconf.h crypto/include/internal/bn_conf.h \
19 crypto/include/internal/dso_conf.h
20 DEPEND[include/openssl/opensslconf.h]=configdata.pm
21 GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in
22 DEPEND[crypto/include/internal/bn_conf.h]=configdata.pm
23 GENERATE[crypto/include/internal/bn_conf.h]=crypto/include/internal/bn_conf.h.in
24 DEPEND[crypto/include/internal/dso_conf.h]=configdata.pm
25 GENERATE[crypto/include/internal/dso_conf.h]=crypto/include/internal/dso_conf.h.in
27 IF[{- defined $target{shared_defflag} -}]
28 IF[{- $config{target} =~ /^mingw/ -}]
29 GENERATE[libcrypto.def]=util/mkdef.pl crypto 32
30 DEPEND[libcrypto.def]=util/libcrypto.num
31 GENERATE[libssl.def]=util/mkdef.pl ssl 32
32 DEPEND[libssl.def]=util/libssl.num
34 SHARED_SOURCE[libcrypto]=libcrypto.def
35 SHARED_SOURCE[libssl]=libssl.def
37 GENERATE[libcrypto.map]=util/mkdef.pl crypto linux
38 DEPEND[libcrypto.map]=util/libcrypto.num
39 GENERATE[libssl.map]=util/mkdef.pl ssl linux
40 DEPEND[libssl.map]=util/libssl.num
42 SHARED_SOURCE[libcrypto]=libcrypto.map
43 SHARED_SOURCE[libssl]=libssl.map
46 # VMS and VC don't have parametrised .def / .symvec generation, so they get
47 # special treatment, since we know they do use these files
48 IF[{- $config{target} =~ /^VC-/ -}]
49 GENERATE[libcrypto.def]=util/mkdef.pl crypto 32
50 DEPEND[libcrypto.def]=util/libcrypto.num
51 GENERATE[libssl.def]=util/mkdef.pl ssl 32
52 DEPEND[libssl.def]=util/libssl.num
54 SHARED_SOURCE[libcrypto]=libcrypto.def
55 SHARED_SOURCE[libssl]=libssl.def
56 ELSIF[{- $config{target} =~ /^vms/ -}]
57 GENERATE[libcrypto.opt]=util/mkdef.pl crypto VMS
58 DEPEND[libcrypto.opt]=util/libcrypto.num
59 GENERATE[libssl.opt]=util/mkdef.pl ssl VMS
60 DEPEND[libssl.opt]=util/libssl.num
62 SHARED_SOURCE[libcrypto]=libcrypto.opt
63 SHARED_SOURCE[libssl]=libssl.opt
66 IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
67 GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto
68 GENERATE[libssl.rc]=util/mkrc.pl libssl
70 SHARED_SOURCE[libcrypto]=libcrypto.rc
71 SHARED_SOURCE[libssl]=libssl.rc
74 IF[{- $config{target} =~ /^Cygwin/ -}]
75 SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -}
76 SHARED_NAME[libssl]=cygssl-{- $sover_filename -}
77 ELSIF[{- $config{target} =~ /^mingw/ -}]
78 SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
79 SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
80 ELSIF[{- $config{target} =~ /^VC-/ -}]
81 SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -}
82 SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -}
85 # VMS has a cultural standard where all libraries are prefixed.
86 # For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a
87 # conversation with VSI, Tuesday January 26 2016)
88 # Also, it seems it's usual to have the pointer size the libraries
89 # were built for as part of the name.
90 IF[{- $config{target} =~ /^vms/ -}]
91 RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -}
92 RENAME[libssl]=ossl$libssl{- $target{pointer_size} -}
93 SHARED_NAME[libcrypto]=ossl$libcrypto{- $sover_filename -}_shr{- $target{pointer_size} -}
94 SHARED_NAME[libssl]=ossl$libssl{- $sover_filename -}_shr{- $target{pointer_size} -}