2018-11-03 18:38:04 +01:00
|
|
|
# Note that some of these directories are filtered in Configure. Look for
|
|
|
|
# %skipdir there for further explanations.
|
2020-04-22 10:38:10 +10:00
|
|
|
|
|
|
|
SUBDIRS=crypto ssl apps test util tools fuzz providers doc
|
|
|
|
IF[{- !$disabled{'deprecated-3.0'} -}]
|
|
|
|
SUBDIRS=engines
|
|
|
|
ENDIF
|
2018-11-03 18:26:35 +01:00
|
|
|
|
2016-01-29 23:33:10 +01:00
|
|
|
LIBS=libcrypto libssl
|
2019-09-28 00:45:33 +02:00
|
|
|
INCLUDE[libcrypto]=. include
|
2016-06-29 22:59:50 +02:00
|
|
|
INCLUDE[libssl]=. include
|
2016-01-29 23:33:10 +01:00
|
|
|
DEPEND[libssl]=libcrypto
|
2016-01-30 05:45:29 +01:00
|
|
|
|
2016-06-13 22:01:08 +02:00
|
|
|
# Empty DEPEND "indices" means the dependencies are expected to be built
|
|
|
|
# unconditionally before anything else.
|
Add better support for using deprecated symbols internally
OPENSSL_SUPPRESS_DEPRECATED only does half the job, in telling the
deprecation macros not to add the warning attribute. However, with
'no-deprecated', the symbols are still removed entirely, while we
might still want to use them internally.
The solution is to permit <openssl/opensslconf.h> macros to be
modified internally, such as undefining OPENSSL_NO_DEPRECATED in this
case.
However, with the way <openssl/opensslconf.h> includes
<openssl/macros.h>, that's easier said than done. That's solved by
generating <openssl/configuration.h> instead, and add a new
<openssl/opensslconf.h> that includes <openssl/configuration.h> as
well as <openssl/macros.h>, thus allowing to replace an inclusion of
<openssl/opensslconf.h> with this:
#include <openssl/configuration.h>
#undef OPENSSL_NO_DEPRECATED
#define OPENSSL_SUPPRESS_DEPRECATED
#include <openssl/macros.h>
Or simply add the following prior to any other openssl inclusion:
#include <openssl/configuration.h>
#undef OPENSSL_NO_DEPRECATED
#define OPENSSL_SUPPRESS_DEPRECATED
Note that undefining OPENSSL_NO_DEPRECATED must never be done by
applications, since the symbols must still be exported by the
library. Internal test programs are excempt of this rule, though.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10608)
2019-12-11 14:36:36 +01:00
|
|
|
DEPEND[]=include/openssl/configuration.h include/openssl/opensslv.h \
|
2020-06-29 12:20:41 +10:00
|
|
|
include/openssl/fipskey.h \
|
2019-10-17 16:05:38 +02:00
|
|
|
include/crypto/bn_conf.h include/crypto/dso_conf.h \
|
|
|
|
doc/man7/openssl_user_macros.pod
|
2019-10-12 17:45:56 -04:00
|
|
|
|
Add better support for using deprecated symbols internally
OPENSSL_SUPPRESS_DEPRECATED only does half the job, in telling the
deprecation macros not to add the warning attribute. However, with
'no-deprecated', the symbols are still removed entirely, while we
might still want to use them internally.
The solution is to permit <openssl/opensslconf.h> macros to be
modified internally, such as undefining OPENSSL_NO_DEPRECATED in this
case.
However, with the way <openssl/opensslconf.h> includes
<openssl/macros.h>, that's easier said than done. That's solved by
generating <openssl/configuration.h> instead, and add a new
<openssl/opensslconf.h> that includes <openssl/configuration.h> as
well as <openssl/macros.h>, thus allowing to replace an inclusion of
<openssl/opensslconf.h> with this:
#include <openssl/configuration.h>
#undef OPENSSL_NO_DEPRECATED
#define OPENSSL_SUPPRESS_DEPRECATED
#include <openssl/macros.h>
Or simply add the following prior to any other openssl inclusion:
#include <openssl/configuration.h>
#undef OPENSSL_NO_DEPRECATED
#define OPENSSL_SUPPRESS_DEPRECATED
Note that undefining OPENSSL_NO_DEPRECATED must never be done by
applications, since the symbols must still be exported by the
library. Internal test programs are excempt of this rule, though.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10608)
2019-12-11 14:36:36 +01:00
|
|
|
GENERATE[include/openssl/configuration.h]=include/openssl/configuration.h.in
|
2019-10-17 16:05:38 +02:00
|
|
|
GENERATE[include/openssl/opensslv.h]=include/openssl/opensslv.h.in
|
2020-06-29 12:20:41 +10:00
|
|
|
GENERATE[include/openssl/fipskey.h]=include/openssl/fipskey.h.in
|
2019-09-28 00:45:33 +02:00
|
|
|
GENERATE[include/crypto/bn_conf.h]=include/crypto/bn_conf.h.in
|
|
|
|
GENERATE[include/crypto/dso_conf.h]=include/crypto/dso_conf.h.in
|
2018-12-02 20:37:30 +01:00
|
|
|
GENERATE[doc/man7/openssl_user_macros.pod]=doc/man7/openssl_user_macros.pod.in
|
2016-06-13 22:01:08 +02:00
|
|
|
|
2017-12-04 14:59:27 +01:00
|
|
|
IF[{- defined $target{shared_defflag} -}]
|
2018-09-30 14:44:59 +02:00
|
|
|
SHARED_SOURCE[libcrypto]=libcrypto.ld
|
|
|
|
SHARED_SOURCE[libssl]=libssl.ld
|
2017-12-04 14:59:27 +01:00
|
|
|
|
2018-09-14 14:59:40 +02:00
|
|
|
GENERATE[libcrypto.ld]=util/libcrypto.num libcrypto
|
|
|
|
GENERATE[libssl.ld]=util/libssl.num libssl
|
2017-12-04 14:59:27 +01:00
|
|
|
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
|