X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=util%2Fmkbuildinf.pl;h=c9324a9ded76a1e2412476e5073b9b10ed706bcd;hp=ca02d7b0b213485c92df5e7dc3c0fa7f29e1dde4;hb=b9a694717902af796639e1dff641ba620703303b;hpb=488f16e31b8f5ec2513410929325d0830d76762d diff --git a/util/mkbuildinf.pl b/util/mkbuildinf.pl index ca02d7b0b2..c9324a9ded 100755 --- a/util/mkbuildinf.pl +++ b/util/mkbuildinf.pl @@ -1,35 +1,56 @@ -#!/usr/local/bin/perl +#! /usr/bin/env perl +# Copyright 2014-2017 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; +use strict; +use warnings; +my ($cflags, $platform) = @ARGV; $cflags = "compiler: $cflags"; -$date = localtime(); + +my $date = gmtime($ENV{'SOURCE_DATE_EPOCH'} || time()) . " UTC"; + 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[] = { +/* + * WARNING: do not edit! + * Generated by util/mkbuildinf.pl + * + * Copyright 2014-2017 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 + */ + +#define PLATFORM "platform: $platform" +#define DATE "built on: $date" + +/* + * Generate compiler_flags 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 compiler_flags[] = { END_OUTPUT + my $ctr = 0; foreach my $c (split //, $cflags) { - # Max 18 characters per line - if (($ctr++ % 18) == 0) { - if ($ctr != 0) { + $c =~ s|([\\'])|\\$1|; + # Max 16 characters per line + if (($ctr++ % 16) == 0) { + if ($ctr != 1) { print "\n"; } - print " "; + print " "; } print "'$c',"; } print <<"END_OUTPUT"; '\\0' - }; - #define PLATFORM "platform: $platform" - #define DATE "built on: $date" -#endif +}; END_OUTPUT