1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #! /usr/bin/env perl
- # Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved.
- #
- # Licensed under the Apache License 2.0 (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";
- my $date = gmtime($ENV{'SOURCE_DATE_EPOCH'} || time()) . " UTC";
- print <<"END_OUTPUT";
- /*
- * WARNING: do not edit!
- * Generated by util/mkbuildinf.pl
- *
- * Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the Apache License 2.0 (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) {
- $c =~ s|([\\'])|\\$1|;
- # Max 16 characters per line
- if (($ctr++ % 16) == 0) {
- if ($ctr != 1) {
- print "\n";
- }
- print " ";
- }
- print "'$c',";
- }
- print <<"END_OUTPUT";
- '\\0'
- };
- END_OUTPUT
|