summaryrefslogtreecommitdiffstats
path: root/Configure
diff options
context:
space:
mode:
authorRich Salz <rsalz@akamai.com>2014-08-27 15:28:08 -0400
committerRich Salz <rsalz@akamai.com>2014-08-27 21:35:32 -0400
commit17e80c6bd05de7406a65116f34ed59665607d8d5 (patch)
tree62f3fbd5755cd016cfae2c1f3beffff2365cd40d /Configure
parent7b3e11c54466f1da8b707c932e308d345fd61101 (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>
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure6
1 files changed, 6 insertions, 0 deletions
diff --git a/Configure b/Configure
index b0a36a4e97..1ad5f4c774 100755
--- a/Configure
+++ b/Configure
@@ -1887,6 +1887,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;
@@ -1991,6 +1994,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";