summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux-4.02/version.pl
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux-4.02/version.pl')
-rwxr-xr-xcontrib/syslinux-4.02/version.pl39
1 files changed, 39 insertions, 0 deletions
diff --git a/contrib/syslinux-4.02/version.pl b/contrib/syslinux-4.02/version.pl
new file mode 100755
index 0000000..a08ce83
--- /dev/null
+++ b/contrib/syslinux-4.02/version.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+#
+# Read the "version" file and produce some macro declarations
+#
+
+use Fcntl;
+
+sub defx($$$) {
+ my($def, $name, $val) = @_;
+
+ $def =~ s/\</${name}/g;
+ $def =~ s/\@/${val}/g;
+
+ return $def."\n";
+}
+
+($vfile, $vout, $def) = @ARGV;
+sysopen(VERSION, $vfile, O_RDONLY) or die "$0: Cannot open $vfile\n";
+$vfile = <VERSION>;
+chomp $vfile;
+close(VERSION);
+
+unless ( $vfile =~ /^(([0-9]+)\.([0-9]+))\s+([0-9]+)$/ ) {
+ die "$0: Cannot parse version format\n";
+}
+$version = $1;
+$vma = $2+0;
+$vmi = $3+0;
+$year = $4;
+
+sysopen(VI, $vout, O_WRONLY|O_CREAT|O_TRUNC)
+ or die "$0: Cannot create $vout: $!\n";
+print VI defx($def, 'VERSION', $version);
+print VI defx($def, 'VERSION_STR', '"'.$version.'"');
+print VI defx($def, 'VERSION_MAJOR', $vma);
+print VI defx($def, 'VERSION_MINOR', $vmi);
+print VI defx($def, 'YEAR', $year);
+print VI defx($def, 'YEAR_STR', '"'.$year.'"');
+close(VI);