summaryrefslogtreecommitdiffstats
path: root/build.info
blob: 13ca90d3607c9d7145022a9d5137bc0c8906f8e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{-
     our $sover = $config{shlib_version_number};
     our $sover_filename = $sover;
     $sover_filename =~ s|\.|_|g
         if $config{target} =~ /^mingw/ || $config{target} =~ /^VC-/;
     $sover_filename =
         sprintf "%02d%02d", split m|\.|, $config{shlib_version_number}
         if $config{target} =~ /^vms/;
     "";
-}
LIBS=libcrypto libssl
INCLUDE[libcrypto]=. crypto/include include
INCLUDE[libssl]=. include
DEPEND[libssl]=libcrypto

# Empty DEPEND "indices" means the dependencies are expected to be built
# unconditionally before anything else.
DEPEND[]=include/openssl/opensslconf.h crypto/include/internal/bn_conf.h \
         crypto/include/internal/dso_conf.h
DEPEND[include/openssl/opensslconf.h]=configdata.pm
GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in
DEPEND[crypto/include/internal/bn_conf.h]=configdata.pm
GENERATE[crypto/include/internal/bn_conf.h]=crypto/include/internal/bn_conf.h.in
DEPEND[crypto/include/internal/dso_conf.h]=configdata.pm
GENERATE[crypto/include/internal/dso_conf.h]=crypto/include/internal/dso_conf.h.in

IF[{- defined $target{shared_defflag} -}]
  IF[{- $config{target} =~ /^mingw/ -}]
    GENERATE[libcrypto.def]=util/mkdef.pl crypto 32
    DEPEND[libcrypto.def]=util/libcrypto.num
    GENERATE[libssl.def]=util/mkdef.pl ssl 32
    DEPEND[libssl.def]=util/libssl.num

    SHARED_SOURCE[libcrypto]=libcrypto.def
    SHARED_SOURCE[libssl]=libssl.def
  ELSE
    GENERATE[libcrypto.map]=util/mkdef.pl crypto linux
    DEPEND[libcrypto.map]=util/libcrypto.num
    GENERATE[libssl.map]=util/mkdef.pl ssl linux
    DEPEND[libssl.map]=util/libssl.num

    SHARED_SOURCE[libcrypto]=libcrypto.map
    SHARED_SOURCE[libssl]=libssl.map
  ENDIF
ENDIF
# VMS and VC don't have parametrised .def / .symvec generation, so they get
# special treatment, since we know they do use these files
IF[{- $config{target} =~ /^VC-/ -}]
  GENERATE[libcrypto.def]=util/mkdef.pl crypto 32
  DEPEND[libcrypto.def]=util/libcrypto.num
  GENERATE[libssl.def]=util/mkdef.pl ssl 32
  DEPEND[libssl.def]=util/libssl.num

  SHARED_SOURCE[libcrypto]=libcrypto.def
  SHARED_SOURCE[libssl]=libssl.def
ELSIF[{- $config{target} =~ /^vms/ -}]
  GENERATE[libcrypto.opt]=util/mkdef.pl crypto "VMS"
  DEPEND[libcrypto.opt]=util/libcrypto.num
  GENERATE[libssl.opt]=util/mkdef.pl ssl "VMS"
  DEPEND[libssl.opt]=util/libssl.num

  SHARED_SOURCE[libcrypto]=libcrypto.opt
  SHARED_SOURCE[libssl]=libssl.opt
ENDIF

IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
  GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto
  GENERATE[libssl.rc]=util/mkrc.pl libssl

  SHARED_SOURCE[libcrypto]=libcrypto.rc
  SHARED_SOURCE[libssl]=libssl.rc
ENDIF

IF[{- $config{target} =~ /^Cygwin/ -}]
 SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -}
 SHARED_NAME[libssl]=cygssl-{- $sover_filename -}
ELSIF[{- $config{target} =~ /^mingw/ -}]
 SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
 SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
ELSIF[{- $config{target} =~ /^VC-/ -}]
 SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -}
 SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -}
ENDIF

# VMS has a cultural standard where all libraries are prefixed.
# For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a
# conversation with VSI, Tuesday January 26 2016)
# Also, it seems it's usual to have the pointer size the libraries
# were built for as part of the name.
IF[{- $config{target} =~ /^vms/ -}]
 RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -}
 RENAME[libssl]=ossl$libssl{- $target{pointer_size} -}
 SHARED_NAME[libcrypto]=ossl$libcrypto{- $sover_filename -}_shr{- $target{pointer_size} -}
 SHARED_NAME[libssl]=ossl$libssl{- $sover_filename -}_shr{- $target{pointer_size} -}
ENDIF