Configure: make C++ build tests optional and configurable
Disabled by default Fixes #8360 Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8370)
This commit is contained in:
parent
ff825807bc
commit
ac4033d658
6 changed files with 32 additions and 3 deletions
8
CHANGES
8
CHANGES
|
@ -9,6 +9,14 @@
|
|||
|
||||
Changes between 1.1.1 and 3.0.0 [xx XXX xxxx]
|
||||
|
||||
*) Added build tests for C++. These are generated files that only do one
|
||||
thing, to include one public OpenSSL head file each. This tests that
|
||||
the public header files can be usefully included in a C++ application.
|
||||
|
||||
This test isn't enabled by default. It can be enabled with the option
|
||||
'enable-buildtest-c++'.
|
||||
[Richard Levitte]
|
||||
|
||||
*) Added property based algorithm implementation selection framework to
|
||||
the core.
|
||||
[Paul Dale]
|
||||
|
|
|
@ -341,6 +341,7 @@ my @disablables = (
|
|||
"autoload-config",
|
||||
"bf",
|
||||
"blake2",
|
||||
"buildtest-c++",
|
||||
"camellia",
|
||||
"capieng",
|
||||
"cast",
|
||||
|
@ -444,6 +445,7 @@ my %deprecated_disablables = (
|
|||
|
||||
our %disabled = ( # "what" => "comment"
|
||||
"asan" => "default",
|
||||
"buildtest-c++" => "default",
|
||||
"crypto-mdebug" => "default",
|
||||
"crypto-mdebug-backtrace" => "default",
|
||||
"devcryptoeng" => "default",
|
||||
|
@ -1208,8 +1210,8 @@ foreach my $what (sort keys %disabled) {
|
|||
|
||||
$config{options} .= " no-$what";
|
||||
|
||||
if (!grep { $what eq $_ } ( 'dso', 'threads', 'shared', 'pic',
|
||||
'dynamic-engine', 'makedepend',
|
||||
if (!grep { $what eq $_ } ( 'buildtest-c++', 'dso', 'threads', 'shared',
|
||||
'pic', 'dynamic-engine', 'makedepend',
|
||||
'zlib-dynamic', 'zlib', 'sse2' )) {
|
||||
(my $WHAT = uc $what) =~ s|-|_|g;
|
||||
my $skipdir = $what;
|
||||
|
|
13
INSTALL
13
INSTALL
|
@ -296,6 +296,19 @@
|
|||
Typically OpenSSL will automatically load a system config
|
||||
file which configures default ssl options.
|
||||
|
||||
enable-buildtest-c++
|
||||
While testing, generate C++ buildtest files that
|
||||
simply check that the public OpenSSL header files
|
||||
are usable standalone with C++.
|
||||
|
||||
Enabling this option demands extra care. For any
|
||||
compiler flag given directly as configuration
|
||||
option, you must ensure that it's valid for both
|
||||
the C and the C++ compiler. If not, the C++ build
|
||||
test will most likely break. As an alternative,
|
||||
you can use the language specific variables, CFLAGS
|
||||
and CXXFLAGS.
|
||||
|
||||
no-capieng
|
||||
Don't build the CAPI engine. This option will be forced if
|
||||
on a platform that does not support CAPI.
|
||||
|
|
|
@ -602,7 +602,7 @@ ENDIF
|
|||
INCLUDE[buildtest_c_$name]=../include
|
||||
DEPEND[buildtest_c_$name]=../libssl ../libcrypto
|
||||
_____
|
||||
$OUT .= <<"_____" if $config{CXX};
|
||||
$OUT .= <<"_____" if $config{CXX} && !$disabled{"buildtest-c++"};
|
||||
|
||||
PROGRAMS{noinst}=buildtest_cc_$name
|
||||
SOURCE[buildtest_cc_$name]=buildtest_$name.cc
|
||||
|
|
3
test/certs/root-ed25519.privkey.pem
Normal file
3
test/certs/root-ed25519.privkey.pem
Normal file
|
@ -0,0 +1,3 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MC4CAQAwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC
|
||||
-----END PRIVATE KEY-----
|
3
test/certs/root-ed25519.pubkey.pem
Normal file
3
test/certs/root-ed25519.pubkey.pem
Normal file
|
@ -0,0 +1,3 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MCowBQYDK2VwAyEAGb9ECWmEzf6FQbrBZ9w7lshQhqowtrbLDFw4rXAxZuE=
|
||||
-----END PUBLIC KEY-----
|
Loading…
Reference in a new issue