Fix a problem if CFLAGS is too long cversion.c fails to compile when config
is run with --strict-warnings. Reviewed-by: Richard Levitte <levitte@openssl.org> (cherry picked from commit 488f16e31b8f5ec2513410929325d0830d76762d)
This commit is contained in:
parent
bfb2e4b280
commit
c4b969639a
@ -53,12 +53,7 @@ top:
|
|||||||
all: shared
|
all: shared
|
||||||
|
|
||||||
buildinf.h: ../Makefile
|
buildinf.h: ../Makefile
|
||||||
( echo "#ifndef MK1MF_BUILD"; \
|
$(PERL) $(TOP)/util/mkbuildinf.pl "$(CFLAGS)" "$(PLATFORM)" >buildinf.h
|
||||||
echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
|
|
||||||
echo ' #define CFLAGS "$(CC) $(CFLAG)"'; \
|
|
||||||
echo ' #define PLATFORM "$(PLATFORM)"'; \
|
|
||||||
echo " #define DATE \"`LC_ALL=C LC_TIME=C date`\""; \
|
|
||||||
echo '#endif' ) >buildinf.h
|
|
||||||
|
|
||||||
x86cpuid.s: x86cpuid.pl perlasm/x86asm.pl
|
x86cpuid.s: x86cpuid.pl perlasm/x86asm.pl
|
||||||
$(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
|
$(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
|
||||||
|
@ -69,10 +69,7 @@ const char *SSLeay_version(int t)
|
|||||||
if (t == SSLEAY_BUILT_ON)
|
if (t == SSLEAY_BUILT_ON)
|
||||||
{
|
{
|
||||||
#ifdef DATE
|
#ifdef DATE
|
||||||
static char buf[sizeof(DATE)+11];
|
return(DATE);
|
||||||
|
|
||||||
BIO_snprintf(buf,sizeof buf,"built on: %s",DATE);
|
|
||||||
return(buf);
|
|
||||||
#else
|
#else
|
||||||
return("built on: date not available");
|
return("built on: date not available");
|
||||||
#endif
|
#endif
|
||||||
@ -80,10 +77,7 @@ const char *SSLeay_version(int t)
|
|||||||
if (t == SSLEAY_CFLAGS)
|
if (t == SSLEAY_CFLAGS)
|
||||||
{
|
{
|
||||||
#ifdef CFLAGS
|
#ifdef CFLAGS
|
||||||
static char buf[sizeof(CFLAGS)+11];
|
return(cflags);
|
||||||
|
|
||||||
BIO_snprintf(buf,sizeof buf,"compiler: %s",CFLAGS);
|
|
||||||
return(buf);
|
|
||||||
#else
|
#else
|
||||||
return("compiler: information not available");
|
return("compiler: information not available");
|
||||||
#endif
|
#endif
|
||||||
@ -91,10 +85,7 @@ const char *SSLeay_version(int t)
|
|||||||
if (t == SSLEAY_PLATFORM)
|
if (t == SSLEAY_PLATFORM)
|
||||||
{
|
{
|
||||||
#ifdef PLATFORM
|
#ifdef PLATFORM
|
||||||
static char buf[sizeof(PLATFORM)+11];
|
return(PLATFORM);
|
||||||
|
|
||||||
BIO_snprintf(buf,sizeof buf,"platform: %s", PLATFORM);
|
|
||||||
return(buf);
|
|
||||||
#else
|
#else
|
||||||
return("platform: information not available");
|
return("platform: information not available");
|
||||||
#endif
|
#endif
|
||||||
|
35
util/mkbuildinf.pl
Executable file
35
util/mkbuildinf.pl
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
#!/usr/local/bin/perl
|
||||||
|
|
||||||
|
my ($cflags, $platform) = @ARGV;
|
||||||
|
|
||||||
|
$cflags = "compiler: $cflags";
|
||||||
|
$date = localtime();
|
||||||
|
print <<"END_OUTPUT";
|
||||||
|
#ifndef MK1MF_BUILD
|
||||||
|
/* auto-generated by util/mkbuildinf.pl for crypto/cversion.c */
|
||||||
|
#define CFLAGS
|
||||||
|
/*
|
||||||
|
* Generate CFLAGS as an array of individual characters. This is a
|
||||||
|
* workaround for the situation where CFLAGS gets too long for a C90 string
|
||||||
|
* literal
|
||||||
|
*/
|
||||||
|
static const char cflags[] = {
|
||||||
|
END_OUTPUT
|
||||||
|
my $ctr = 0;
|
||||||
|
foreach my $c (split //, $cflags) {
|
||||||
|
# Max 18 characters per line
|
||||||
|
if (($ctr++ % 18) == 0) {
|
||||||
|
if ($ctr != 0) {
|
||||||
|
print "\n";
|
||||||
|
}
|
||||||
|
print " ";
|
||||||
|
}
|
||||||
|
print "'$c',";
|
||||||
|
}
|
||||||
|
print <<"END_OUTPUT";
|
||||||
|
'\\0'
|
||||||
|
};
|
||||||
|
#define PLATFORM "platform: $platform"
|
||||||
|
#define DATE "built on: $date"
|
||||||
|
#endif
|
||||||
|
END_OUTPUT
|
Loading…
x
Reference in New Issue
Block a user