summaryrefslogtreecommitdiffstats
path: root/Configure
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2014-08-27 21:47:12 -0400
committerRich Salz <rsalz@akamai.com>2014-08-27 21:47:12 -0400
commit23ea9f6f03332c07977964c674fa00699d999220 (patch)
treee9a2338bc450bffadefbacae134148d65e91f822 /Configure
parent3e5df378613b2bd70e2e2eee4bec7b5c88b298e6 (diff)
RT2308: Add extern "C" { ... } wrapper
Add the wrapper to all public header files (Configure generates one). Don't bother for those that are just lists of #define's that do renaming. Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 089f10e69ece75ce31540501fe0898b15e898552)
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure6
1 files changed, 6 insertions, 0 deletions
diff --git a/Configure b/Configure
index 36844b7b2f..6f0da761b6 100755
--- a/Configure
+++ b/Configure
@@ -1767,6 +1767,9 @@ open(OUT,'>crypto/opensslconf.h.new') || die "unable to create crypto/opensslcon
print OUT "/* opensslconf.h */\n";
print OUT "/* WARNING: Generated automatically from opensslconf.h.in by Configure. */\n\n";
+print OUT "#ifdef __cplusplus\n";
+print OUT "extern \"C\" {\n";
+print OUT "#endif\n";
print OUT "/* OpenSSL was configured with the following options: */\n";
my $openssl_algorithm_defines_trans = $openssl_algorithm_defines;
$openssl_experimental_defines =~ s/^\s*#\s*define\s+OPENSSL_NO_(.*)/#ifndef OPENSSL_EXPERIMENTAL_$1\n# ifndef OPENSSL_NO_$1\n# define OPENSSL_NO_$1\n# endif\n#endif/mg;
@@ -1871,6 +1874,9 @@ while (<IN>)
{ print OUT $_; }
}
close(IN);
+print OUT "#ifdef __cplusplus\n";
+print OUT "}\n";
+print OUT "#endif\n";
close(OUT);
rename("crypto/opensslconf.h","crypto/opensslconf.h.bak") || die "unable to rename crypto/opensslconf.h\n" if -e "crypto/opensslconf.h";
rename("crypto/opensslconf.h.new","crypto/opensslconf.h") || die "unable to rename crypto/opensslconf.h.new\n";