2018-11-04 01:38:04 +08:00
|
|
|
# Note that some of these directories are filtered in Configure. Look for
|
|
|
|
# %skipdir there for further explanations.
|
2020-04-22 08:38:10 +08:00
|
|
|
|
|
|
|
SUBDIRS=crypto ssl apps test util tools fuzz providers doc
|
|
|
|
IF[{- !$disabled{'deprecated-3.0'} -}]
|
|
|
|
SUBDIRS=engines
|
|
|
|
ENDIF
|
2018-11-04 01:26:35 +08:00
|
|
|
|
2016-01-30 06:33:10 +08:00
|
|
|
LIBS=libcrypto libssl
|
2019-09-28 06:45:33 +08:00
|
|
|
INCLUDE[libcrypto]=. include
|
2016-06-30 04:59:50 +08:00
|
|
|
INCLUDE[libssl]=. include
|
2016-01-30 06:33:10 +08:00
|
|
|
DEPEND[libssl]=libcrypto
|
2016-01-30 12:45:29 +08:00
|
|
|
|
2016-06-14 04:01:08 +08: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 21:36:36 +08:00
|
|
|
DEPEND[]=include/openssl/configuration.h include/openssl/opensslv.h \
|
2020-06-29 10:20:41 +08:00
|
|
|
include/openssl/fipskey.h \
|
2020-09-02 23:15:06 +08:00
|
|
|
include/openssl/ssl.h \
|
2020-09-03 17:23:44 +08:00
|
|
|
include/openssl/x509.h \
|
2020-09-03 19:46:08 +08:00
|
|
|
include/openssl/x509v3.h \
|
2019-10-17 22:05:38 +08:00
|
|
|
include/crypto/bn_conf.h include/crypto/dso_conf.h \
|
|
|
|
doc/man7/openssl_user_macros.pod
|
2019-10-13 05:45:56 +08: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 21:36:36 +08:00
|
|
|
GENERATE[include/openssl/configuration.h]=include/openssl/configuration.h.in
|
2019-10-17 22:05:38 +08:00
|
|
|
GENERATE[include/openssl/opensslv.h]=include/openssl/opensslv.h.in
|
2020-06-29 10:20:41 +08:00
|
|
|
GENERATE[include/openssl/fipskey.h]=include/openssl/fipskey.h.in
|
2020-09-02 23:15:06 +08:00
|
|
|
GENERATE[include/openssl/ssl.h]=include/openssl/ssl.h.in
|
2020-09-03 17:23:44 +08:00
|
|
|
GENERATE[include/openssl/x509.h]=include/openssl/x509.h.in
|
2020-09-03 19:46:08 +08:00
|
|
|
GENERATE[include/openssl/x509v3.h]=include/openssl/x509v3.h.in
|
2019-09-28 06:45:33 +08: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-03 03:37:30 +08:00
|
|
|
GENERATE[doc/man7/openssl_user_macros.pod]=doc/man7/openssl_user_macros.pod.in
|
2016-06-14 04:01:08 +08:00
|
|
|
|
2017-12-04 21:59:27 +08:00
|
|
|
IF[{- defined $target{shared_defflag} -}]
|
2018-09-30 20:44:59 +08:00
|
|
|
SHARED_SOURCE[libcrypto]=libcrypto.ld
|
|
|
|
SHARED_SOURCE[libssl]=libssl.ld
|
2017-12-04 21:59:27 +08:00
|
|
|
|
2018-09-14 20:59:40 +08:00
|
|
|
GENERATE[libcrypto.ld]=util/libcrypto.num libcrypto
|
|
|
|
GENERATE[libssl.ld]=util/libssl.num libssl
|
2017-12-04 21:59:27 +08: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
|