Commit ac4033d6 authored by Richard Levitte's avatar Richard Levitte
Browse files

Configure: make C++ build tests optional and configurable



Disabled by default

Fixes #8360

Reviewed-by: default avatarPaul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8370)
parent ff825807
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -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]
+4 −2
Original line number Original line Diff line number Diff line
@@ -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 −0
Original line number Original line Diff line number Diff line
@@ -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.
+1 −1
Original line number Original line Diff line number Diff line
@@ -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 −0
Original line number Original line Diff line number Diff line
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC
-----END PRIVATE KEY-----
Loading