aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_genversion
blob: dd1f324a865445b6f7997c6a88e52d9492b9b619 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/usr/bin/perl -w
# SPDX-License-Identifier: GPL-2.0

use strict;

#
# Generate a version from available information
#

my $prefix = shift @ARGV;
my $root = shift @ARGV;


if ( not defined $root ) {
	die "usage: $0 prefix root-dir\n";
}

if ( ! -d $root ) {
	die "root directory $root not found\n";
}

my $version = "unknown";
my $tainted = "";

if ( -d "$root/.git" ) {
	# attempt to work out git version. only do so
	# on a linux build host, as cygwin builds are
	# already slow enough

	if ( -f "/usr/bin/git" || -f "/usr/local/bin/git" ) {
		if (not open(F, "git --git-dir $root/.git rev-parse --verify HEAD|")) {
			$version = "no git version";
		}
		else {
			$version = <F>;
			$version =~ s/[ \r\n]*$//;     # chomp may not be enough (cygwin).
			$version =~ s/^[ \r\n]*//;     # chomp may not be enough (cygwin).
		}

		if (open(G, "git --git-dir $root/.git status --porcelain|")) {
			$tainted = <G>;
			$tainted =~ s/[ \r\n]*$//;     # chomp may not be enough (cygwin).
			$tainted =~ s/^[ \r\n]*//;     # chomp may not be enough (cygwin).
			if (length $tainted) {
			$version = join ' ', $version, "(tainted)";
		}
		else {
			$version = join ' ', $version, "(clean)";
         }
		}
	}
}

my $hostname = `hostname`;
$hostname =~ s/[ \r\n]*$//;     # chomp may not be enough (cygwin).
$hostname =~ s/^[ \r\n]*//;     # chomp may not be enough (cygwin).


print STDERR "Version $version\n";
print <<EOF;
#include "${prefix}_build_info.h"
#include <linux/broadcom/vc_debug_sym.h>

VC_DEBUG_DECLARE_STRING_VAR( ${prefix}_build_hostname, "$hostname" );
VC_DEBUG_DECLARE_STRING_VAR( ${prefix}_build_version, "$version" );
VC_DEBUG_DECLARE_STRING_VAR( ${prefix}_build_time,    __TIME__ );
VC_DEBUG_DECLARE_STRING_VAR( ${prefix}_build_date,    __DATE__ );

const char *vchiq_get_build_hostname( void )
{
   return vchiq_build_hostname;
}

const char *vchiq_get_build_version( void )
{
   return vchiq_build_version;
}

const char *vchiq_get_build_date( void )
{
   return vchiq_build_date;
}

const char *vchiq_get_build_time( void )
{
   return vchiq_build_time;
}
EOF