Change fdt-specific loader into a generic setup_data loader
[profile/ivi/syslinux.git] / version.pl
index fa09e40..a08ce83 100755 (executable)
@@ -5,21 +5,35 @@
 
 use Fcntl;
 
-$vfile = $ARGV[0];
+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";
-$version = <VERSION>;
-chomp $version;
+$vfile = <VERSION>;
+chomp $vfile;
 close(VERSION);
 
-unless ( $version =~ /^([0-9]+)\.([0-9]+)$/ ) {
+unless ( $vfile =~ /^(([0-9]+)\.([0-9]+))\s+([0-9]+)$/ ) {
     die "$0: Cannot parse version format\n";
 }
-$vma = $1+0; $vmi = $2+0;
+$version = $1;
+$vma = $2+0;
+$vmi = $3+0;
+$year = $4;
 
-open(VI, "> version.gen") or die "$0: Cannot create version.gen\n";
-print VI "%define VERSION \"$version\"\n";
-print VI "%define VER_MAJOR $vma\n";
-print VI "%define VER_MINOR $vmi\n";
+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);
-
-