| #! /usr/bin/env perl | 
 | # Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. | 
 | # | 
 | # Licensed under the OpenSSL license (the "License").  You may not use | 
 | # this file except in compliance with the License.  You can obtain a copy | 
 | # in the file LICENSE in the source distribution or at | 
 | # https://www.openssl.org/source/license.html | 
 |  | 
 |  | 
 | my ($cflags, $platform) = @ARGV; | 
 |  | 
 | $cflags = "compiler: $cflags"; | 
 | $date = localtime(); | 
 | print <<"END_OUTPUT"; | 
 | /* auto-generated by util/mkbuildinf.pl for crypto/cversion.c */ | 
 | #define CFLAGS 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) { | 
 |     $c =~ s|([\\'])|\\$1|; | 
 |     # Max 16 characters per line | 
 |     if  (($ctr++ % 16) == 0) { | 
 |         if ($ctr != 1) { | 
 |             print "\n"; | 
 |         } | 
 |         print "    "; | 
 |     } | 
 |     print "'$c',"; | 
 | } | 
 | print <<"END_OUTPUT"; | 
 | '\\0' | 
 | }; | 
 | #define PLATFORM "platform: $platform" | 
 | #define DATE "built on: $date" | 
 | END_OUTPUT |