c2ed667afb04af36f24f82922085b41f5de24cbd
[openssl.git] / build.info
1 # Note that some of these directories are filtered in Configure.  Look for
2 # %skipdir there for further explanations.
3 SUBDIRS=crypto ssl apps test util tools fuzz engines
4
5 {-
6      use File::Spec::Functions;
7
8      our $sover = $config{shlib_version_number};
9      our $sover_filename = $sover;
10      $sover_filename =~ s|\.|_|g
11          if $config{target} =~ /^mingw/ || $config{target} =~ /^VC-/;
12      $sover_filename =
13          sprintf "%02d%02d", split m|\.|, $config{shlib_version_number}
14          if $config{target} =~ /^vms/;
15      "";
16 -}
17 LIBS=libcrypto libssl
18 INCLUDE[libcrypto]=. crypto/include include
19 INCLUDE[libssl]=. include
20 DEPEND[libssl]=libcrypto
21
22 # Empty DEPEND "indices" means the dependencies are expected to be built
23 # unconditionally before anything else.
24 DEPEND[]=include/openssl/opensslconf.h crypto/include/internal/bn_conf.h \
25          crypto/include/internal/dso_conf.h doc/man7/openssl_user_macros.pod
26 DEPEND[include/openssl/opensslconf.h]=configdata.pm
27 GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in
28 DEPEND[crypto/include/internal/bn_conf.h]=configdata.pm
29 GENERATE[crypto/include/internal/bn_conf.h]=crypto/include/internal/bn_conf.h.in
30 DEPEND[crypto/include/internal/dso_conf.h]=configdata.pm
31 GENERATE[crypto/include/internal/dso_conf.h]=crypto/include/internal/dso_conf.h.in
32 DEPEND[doc/man7/openssl_user_macros.pod]=configdata.pm
33 GENERATE[doc/man7/openssl_user_macros.pod]=doc/man7/openssl_user_macros.pod.in
34
35 IF[{- defined $target{shared_defflag} -}]
36   SHARED_SOURCE[libcrypto]=libcrypto.ld
37   SHARED_SOURCE[libssl]=libssl.ld
38
39   GENERATE[libcrypto.ld]=util/libcrypto.num libcrypto
40   GENERATE[libssl.ld]=util/libssl.num libssl
41 ENDIF
42
43 IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
44   GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto
45   GENERATE[libssl.rc]=util/mkrc.pl libssl
46
47   SHARED_SOURCE[libcrypto]=libcrypto.rc
48   SHARED_SOURCE[libssl]=libssl.rc
49 ENDIF
50
51 IF[{- $config{target} =~ /^Cygwin/ -}]
52  SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -}
53  SHARED_NAME[libssl]=cygssl-{- $sover_filename -}
54 ELSIF[{- $config{target} =~ /^mingw/ -}]
55  SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
56  SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
57 ELSIF[{- $config{target} =~ /^VC-/ -}]
58  SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -}
59  SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -}
60 ENDIF
61
62 # VMS has a cultural standard where all libraries are prefixed.
63 # For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a
64 # conversation with VSI, Tuesday January 26 2016)
65 # Also, it seems it's usual to have the pointer size the libraries
66 # were built for as part of the name.
67 IF[{- $config{target} =~ /^vms/ -}]
68  RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -}
69  RENAME[libssl]=ossl$libssl{- $target{pointer_size} -}
70  SHARED_NAME[libcrypto]=ossl$libcrypto{- $sover_filename -}_shr{- $target{pointer_size} -}
71  SHARED_NAME[libssl]=ossl$libssl{- $sover_filename -}_shr{- $target{pointer_size} -}
72 ENDIF