#! /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