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
8
CHANGES
8
CHANGES
@ -9,6 +9,14 @@
|
|||||||
|
|
||||||
Changes between 1.1.1 and 3.0.0 [xx XXX xxxx]
|
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
|
*) Added property based algorithm implementation selection framework to
|
||||||
the core.
|
the core.
|
||||||
[Paul Dale]
|
[Paul Dale]
|
||||||
|
@ -341,6 +341,7 @@ my @disablables = (
|
|||||||
"autoload-config",
|
"autoload-config",
|
||||||
"bf",
|
"bf",
|
||||||
"blake2",
|
"blake2",
|
||||||
|
"buildtest-c++",
|
||||||
"camellia",
|
"camellia",
|
||||||
"capieng",
|
"capieng",
|
||||||
"cast",
|
"cast",
|
||||||
@ -444,6 +445,7 @@ my %deprecated_disablables = (
|
|||||||
|
|
||||||
our %disabled = ( # "what" => "comment"
|
our %disabled = ( # "what" => "comment"
|
||||||
"asan" => "default",
|
"asan" => "default",
|
||||||
|
"buildtest-c++" => "default",
|
||||||
"crypto-mdebug" => "default",
|
"crypto-mdebug" => "default",
|
||||||
"crypto-mdebug-backtrace" => "default",
|
"crypto-mdebug-backtrace" => "default",
|
||||||
"devcryptoeng" => "default",
|
"devcryptoeng" => "default",
|
||||||
@ -1208,8 +1210,8 @@ foreach my $what (sort keys %disabled) {
|
|||||||
|
|
||||||
$config{options} .= " no-$what";
|
$config{options} .= " no-$what";
|
||||||
|
|
||||||
if (!grep { $what eq $_ } ( 'dso', 'threads', 'shared', 'pic',
|
if (!grep { $what eq $_ } ( 'buildtest-c++', 'dso', 'threads', 'shared',
|
||||||
'dynamic-engine', 'makedepend',
|
'pic', 'dynamic-engine', 'makedepend',
|
||||||
'zlib-dynamic', 'zlib', 'sse2' )) {
|
'zlib-dynamic', 'zlib', 'sse2' )) {
|
||||||
(my $WHAT = uc $what) =~ s|-|_|g;
|
(my $WHAT = uc $what) =~ s|-|_|g;
|
||||||
my $skipdir = $what;
|
my $skipdir = $what;
|
||||||
|
13
INSTALL
13
INSTALL
@ -296,6 +296,19 @@
|
|||||||
Typically OpenSSL will automatically load a system config
|
Typically OpenSSL will automatically load a system config
|
||||||
file which configures default ssl options.
|
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
|
no-capieng
|
||||||
Don't build the CAPI engine. This option will be forced if
|
Don't build the CAPI engine. This option will be forced if
|
||||||
on a platform that does not support CAPI.
|
on a platform that does not support CAPI.
|
||||||
|
@ -602,7 +602,7 @@ ENDIF
|
|||||||
INCLUDE[buildtest_c_$name]=../include
|
INCLUDE[buildtest_c_$name]=../include
|
||||||
DEPEND[buildtest_c_$name]=../libssl ../libcrypto
|
DEPEND[buildtest_c_$name]=../libssl ../libcrypto
|
||||||
_____
|
_____
|
||||||
$OUT .= <<"_____" if $config{CXX};
|
$OUT .= <<"_____" if $config{CXX} && !$disabled{"buildtest-c++"};
|
||||||
|
|
||||||
PROGRAMS{noinst}=buildtest_cc_$name
|
PROGRAMS{noinst}=buildtest_cc_$name
|
||||||
SOURCE[buildtest_cc_$name]=buildtest_$name.cc
|
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…
x
Reference in New Issue
Block a user