Switch to MAJOR.MINOR.PATCH versioning and version 3.0.0-dev
[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      my @sover = split(/\./, $config{shlib_version});
7      our $sover_filename;
8      $sover_filename = join('.', @sover)
9          if $config{target} =~ /^mingw/ || $config{target} =~ /^VC-/;
10      $sover_filename = join('', map { sprintf "%02d", $_ } @sover)
11          if $config{target} =~ /^vms/;
12      "";
13 -}
14 LIBS=libcrypto libssl
15 INCLUDE[libcrypto]=. crypto/include include
16 INCLUDE[libssl]=. include
17 DEPEND[libssl]=libcrypto
18
19 # Empty DEPEND "indices" means the dependencies are expected to be built
20 # unconditionally before anything else.
21 DEPEND[]=include/openssl/opensslconf.h crypto/include/internal/bn_conf.h \
22          crypto/include/internal/dso_conf.h doc/man7/openssl_user_macros.pod
23 DEPEND[include/openssl/opensslconf.h]=configdata.pm
24 GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in
25 DEPEND[crypto/include/internal/bn_conf.h]=configdata.pm
26 GENERATE[crypto/include/internal/bn_conf.h]=crypto/include/internal/bn_conf.h.in
27 DEPEND[crypto/include/internal/dso_conf.h]=configdata.pm
28 GENERATE[crypto/include/internal/dso_conf.h]=crypto/include/internal/dso_conf.h.in
29 DEPEND[doc/man7/openssl_user_macros.pod]=configdata.pm
30 GENERATE[doc/man7/openssl_user_macros.pod]=doc/man7/openssl_user_macros.pod.in
31
32 IF[{- defined $target{shared_defflag} -}]
33   SHARED_SOURCE[libcrypto]=libcrypto.ld
34   SHARED_SOURCE[libssl]=libssl.ld
35
36   GENERATE[libcrypto.ld]=util/libcrypto.num libcrypto
37   GENERATE[libssl.ld]=util/libssl.num libssl
38 ENDIF
39
40 IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
41   GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto
42   GENERATE[libssl.rc]=util/mkrc.pl libssl
43
44   SHARED_SOURCE[libcrypto]=libcrypto.rc
45   SHARED_SOURCE[libssl]=libssl.rc
46 ENDIF
47
48 IF[{- $config{target} =~ /^Cygwin/ -}]
49  SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -}
50  SHARED_NAME[libssl]=cygssl-{- $sover_filename -}
51 ELSIF[{- $config{target} =~ /^mingw/ -}]
52  SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
53  SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
54 ELSIF[{- $config{target} =~ /^VC-/ -}]
55  SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -}
56  SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -}
57 ENDIF
58
59 # VMS has a cultural standard where all libraries are prefixed.
60 # For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a
61 # conversation with VSI, Tuesday January 26 2016)
62 # Also, it seems it's usual to have the pointer size the libraries
63 # were built for as part of the name.
64 IF[{- $config{target} =~ /^vms/ -}]
65  RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -}
66  RENAME[libssl]=ossl$libssl{- $target{pointer_size} -}
67  SHARED_NAME[libcrypto]=ossl$libcrypto{- $sover_filename -}_shr{- $target{pointer_size} -}
68  SHARED_NAME[libssl]=ossl$libssl{- $sover_filename -}_shr{- $target{pointer_size} -}
69 ENDIF