From 8a8d9e190533ee41e8b231b18c7837f98f1ae231 Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Mon, 27 Nov 2017 14:28:15 -0500 Subject: Fix SOURCE_DATE_EPOCH bug; use UTC Thanks to Juro Bystricky for the suggestion and prototype. Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/4644) --- util/mkbuildinf.pl | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) (limited to 'util') diff --git a/util/mkbuildinf.pl b/util/mkbuildinf.pl index 5bf0168b6a..c9324a9ded 100755 --- a/util/mkbuildinf.pl +++ b/util/mkbuildinf.pl @@ -1,26 +1,43 @@ #! /usr/bin/env perl -# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +# 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 +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"; -/* auto-generated by util/mkbuildinf.pl for crypto/cversion.c */ -#define CFLAGS cflags /* - * Generate CFLAGS as an array of individual characters. This is a + * 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 cflags[] = { +static const char compiler_flags[] = { END_OUTPUT + my $ctr = 0; foreach my $c (split //, $cflags) { $c =~ s|([\\'])|\\$1|; @@ -36,6 +53,4 @@ foreach my $c (split //, $cflags) { print <<"END_OUTPUT"; '\\0' }; -#define PLATFORM "platform: $platform" -#define DATE "built on: $date" END_OUTPUT -- cgit v1.2.3