[openssl] OpenSSL_1_1_1-stable update

Richard Levitte levitte at openssl.org
Mon May 27 17:07:29 UTC 2019


The branch OpenSSL_1_1_1-stable has been updated
       via  aa085f8c10f8d79f80a3bae02936492604b0492d (commit)
       via  6a047f0581e3ec4966e626f6bdc1462aee25b081 (commit)
       via  b6f18d3851ef06ee4f690d81b6c878085219a7ba (commit)
      from  27a3be20a543fdd44517b898421f154e4619c78a (commit)


- Log -----------------------------------------------------------------
commit aa085f8c10f8d79f80a3bae02936492604b0492d
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Mar 1 11:54:07 2019 +0100

    Add advice on setting CXX at the same time as CC
    
    Reviewed-by: Paul Dale <paul.dale at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/8370)
    
    (cherry picked from commit 284d19c2ced0264bd46de61718aa4a60efa8d175)

commit 6a047f0581e3ec4966e626f6bdc1462aee25b081
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Feb 28 13:35:32 2019 +0100

    Travis: use enable-buildtest-c++
    
    Reviewed-by: Paul Dale <paul.dale at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/8370)
    
    (cherry picked from commit 26a053d195d5cc8a5cd648da3f05d3ff0e47f776)

commit b6f18d3851ef06ee4f690d81b6c878085219a7ba
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Feb 28 13:28:43 2019 +0100

    Configure: make C++ build tests optional and configurable
    
    Disabled by default
    
    Fixes #8360
    
    Reviewed-by: Paul Dale <paul.dale at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/8370)
    
    (cherry picked from commit ac4033d658e4dc210ed4552b88069b57532ba3d7)

-----------------------------------------------------------------------

Summary of changes:
 .travis.yml     |  2 +-
 CHANGES         |  8 ++++++++
 Configure       |  4 +++-
 INSTALL         | 18 ++++++++++++++++++
 test/build.info |  2 +-
 5 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3184308..c79040d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,7 +28,7 @@ compiler:
 env:
     - CONFIG_OPTS="" DESTDIR="_install"
     - CONFIG_OPTS="no-asm -Werror --debug no-afalgeng no-shared enable-crypto-mdebug enable-rc5 enable-md2"
-    - CONFIG_OPTS="no-asm no-makedepend --strict-warnings -D_DEFAULT_SOURCE" BUILDONLY="yes" CHECKDOCS="yes" GENERATE="yes" CPPFLAGS="-ansi"
+    - CONFIG_OPTS="no-asm no-makedepend enable-buildtest-c++ --strict-warnings -D_DEFAULT_SOURCE" BUILDONLY="yes" CHECKDOCS="yes" GENERATE="yes" CPPFLAGS="-ansi"
 
 matrix:
     include:
diff --git a/CHANGES b/CHANGES
index 53f8563..90937e1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,14 @@
 
  Changes between 1.1.1b and 1.1.1c [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]
+
   *) Change the default RSA, DSA and DH size to 2048 bit instead of 1024.
      This changes the size when using the genpkey app when no size is given. It
      fixes an omission in earlier changes that changed all RSA, DSA and DH
diff --git a/Configure b/Configure
index f0892c2..b220337 100755
--- a/Configure
+++ b/Configure
@@ -332,6 +332,7 @@ my @disablables = (
     "autoload-config",
     "bf",
     "blake2",
+    "buildtest-c++",
     "camellia",
     "capieng",
     "cast",
@@ -432,6 +433,7 @@ my %deprecated_disablables = (
 
 our %disabled = ( # "what"         => "comment"
                   "asan"                => "default",
+                  "buildtest-c++"       => "default",
                   "crypto-mdebug"       => "default",
                   "crypto-mdebug-backtrace" => "default",
                   "devcryptoeng"        => "default",
@@ -1167,7 +1169,7 @@ my %disabled_info = ();         # For configdata.pm
 foreach my $what (sort keys %disabled) {
     $config{options} .= " no-$what";
 
-    if (!grep { $what eq $_ } ( 'threads', 'shared', 'pic',
+    if (!grep { $what eq $_ } ( 'buildtest-c++', 'threads', 'shared', 'pic',
                                 'dynamic-engine', 'makedepend',
                                 'zlib-dynamic', 'zlib', 'sse2' )) {
         (my $WHAT = uc $what) =~ s|-|_|g;
diff --git a/INSTALL b/INSTALL
index 7dd051c..0b6a3fd 100644
--- a/INSTALL
+++ b/INSTALL
@@ -287,6 +287,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.
@@ -662,6 +675,11 @@
                         CC=gcc CROSS_COMPILE=x86_64-w64-mingw32- \
                         ./config -DCOOKIE
 
+                   If CC is set, it is advisable to also set CXX to ensure
+                   both C and C++ compilers are in the same "family".  This
+                   becomes relevant with 'enable-external-tests' and
+                   'enable-buildtest-c++'.
+
   reconf
   reconfigure
                    Reconfigure from earlier data.  This fetches the previous
diff --git a/test/build.info b/test/build.info
index 22a7d19..a2fb0e2 100644
--- a/test/build.info
+++ b/test/build.info
@@ -585,7 +585,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_NO_INST=buildtest_cc_$name
   SOURCE[buildtest_cc_$name]=buildtest_$name.cc


More information about the openssl-commits mailing list