nkeynes@738: #!/usr/bin/perl nkeynes@738: # Usage: updatever.pl nkeynes@738: nkeynes@1068: my $hgversion = "hg identify -i -n"; nkeynes@738: my $basever = $ARGV[0]; nkeynes@738: my $top_srcdir = $ARGV[1]; nkeynes@738: my $outfile = $ARGV[2]; nkeynes@738: nkeynes@1068: my $rev = "", $hash; nkeynes@738: my $full_ver = "$basever"; nkeynes@738: nkeynes@1068: if( $hgversion ) { nkeynes@1068: my $ident = `$hgversion "$top_srcdir" 2>/dev/null`; nkeynes@1068: if ( $? == 0 ) { nkeynes@1068: chomp $ident; nkeynes@1068: ($hash,$rev) = split /\s+/,$ident,2; nkeynes@1068: $rev =~ s/\+//g; nkeynes@1068: $full_ver = "${basever}.${rev}:${hash}"; nkeynes@738: } nkeynes@738: } nkeynes@738: my $header = "/* Autogenerated by checkver.pl */"; nkeynes@738: my $output = "${header}\n". nkeynes@738: "const char lxdream_package_name[] = \"lxdream $basever\";\n" . nkeynes@738: "const char lxdream_short_version[] = \"$basever\";\n" . nkeynes@738: "const char lxdream_full_version[] = \"$full_ver\";\n" . nkeynes@738: "const char lxdream_copyright[] = \"Copyright (C) 2005-2008 Nathan Keynes\";\n"; nkeynes@738: nkeynes@738: my $oldfile = ""; nkeynes@738: if( -e $outfile ) { nkeynes@738: open(VERSIONFILE, "<$outfile") || die "Unable to read from $outfile\n"; nkeynes@738: $oldfile = join "", ; nkeynes@738: close(VERSIONFILE); nkeynes@738: } nkeynes@738: nkeynes@738: if( $oldfile ne $output ) { nkeynes@738: open(VERSIONFILE, ">$outfile") || die "Unable to write to $outfile\n"; nkeynes@738: print VERSIONFILE $output; nkeynes@738: close(VERSIONFILE); nkeynes@738: }