X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/8a6aec16d8c21d3c57457e5ec00eb83f5242feba..21452811e6f4319f11ba1b6aa19eb61233c30ba3:/tools/mkversion.pl diff --git a/tools/mkversion.pl b/tools/mkversion.pl index 1c4dfcd9..6f2eff69 100644 --- a/tools/mkversion.pl +++ b/tools/mkversion.pl @@ -4,8 +4,6 @@ # but this will, at least in theory, also work on Windows with our current compile environment. # -- Henryk Plötz 2009-09-28 -use strict; - my $main_dir = shift; # Clear environment locale so that svn will not use localized strings @@ -13,7 +11,6 @@ $ENV{'LC_ALL'} = "C"; $ENV{'LANG'} = "C"; my $svnversion = 0; -my $present = 0; my $clean = 2; my @compiletime = gmtime(); @@ -21,13 +18,12 @@ my @compiletime = gmtime(); if(open(SVNINFO, "svn info $main_dir|")) { while() { if (/^Last Changed Rev: (.*)/) { - $present = 1; $svnversion = $1; ## last; # Do not abort here, since SVN tends to complain about a Broken pipe } } close(SVNINFO); - + if(open(SVNSTATUS, "svn status $main_dir|")) { $clean = 1; while() { @@ -38,16 +34,16 @@ if(open(SVNINFO, "svn info $main_dir|")) { } close(SVNINFO); } - + } else { - # Strategy two: look for .svn/entries. The third line should be "dir", the fourth line should contain the current + # Strategy two: look for .svn/entries. The third line should be "dir", the fourth line should contain + # the currently checked out revision, the eleventh line should contain the last changed revision. # revision. if(open(ENTRIES, "$main_dir/.svn/entries")) { my $i = 1; while() { last if($i == 3 and !/^dir/); - if($i == 4 and /^([0-9]*)/) { - $present = 1; + if($i == 11 and /^([0-9]*)/) { $svnversion = $1; } $i++; @@ -58,14 +54,15 @@ if(open(SVNINFO, "svn info $main_dir|")) { $compiletime[4] += 1; $compiletime[5] += 1900; my $ctime = sprintf("%6\$04i-%5\$02i-%4\$02i %3\$02i:%2\$02i:%1\$02i", @compiletime); +$svnversion=~ s/(^\s+|\s+$)//g; print < +#include "proxmark3.h" /* Generated file, do not edit */ -struct version_information __attribute__((section(".version_information"))) version_information = { +const struct version_information __attribute__((section(".version_information"))) version_information = { VERSION_INFORMATION_MAGIC, 1, - $present, + 1, $clean, "svn $svnversion", "$ctime",