aboutsummaryrefslogtreecommitdiffstats
path: root/build.info
diff options
context:
space:
mode:
Diffstat (limited to 'build.info')
-rw-r--r--build.info103
1 files changed, 103 insertions, 0 deletions
diff --git a/build.info b/build.info
new file mode 100644
index 000000000000..3dda4e89bf5c
--- /dev/null
+++ b/build.info
@@ -0,0 +1,103 @@
+{-
+ 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
+ ELSIF[{- $config{target} =~ /^aix/ -}]
+ GENERATE[libcrypto.map]=util/mkdef.pl crypto aix
+ DEPEND[libcrypto.map]=util/libcrypto.num
+ GENERATE[libssl.map]=util/mkdef.pl ssl aix
+ DEPEND[libssl.map]=util/libssl.num
+
+ SHARED_SOURCE[libcrypto]=libcrypto.map
+ SHARED_SOURCE[libssl]=libssl.map
+ 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