1#!/usr/bin/env perl 2 3use strict; 4use warnings; 5 6use File::Basename; 7 8my $scriptpath = dirname($0); 9my $outfile = $ARGV[0]; 10my $mergebase = $ARGV[1]; 11 12$mergebase or $mergebase = ""; 13 14mkdir dirname($outfile); 15 16$_ = (open(IN, "<", "$scriptpath/release_ver") ? <IN> 17 : die "No Git, and $scriptpath/release_ver doesn't exist.\n") 18 or die "couldn't get the version information\n"; 19 20chomp; 21 22/v?(([0-9]+\.[0-9]+)(?:\.[0-9]+)?(?:-([a-zA-Z]+[0-9]+))?)(?:-[0-9]+-g[a-fA-F0-9]+)?/ 23 or die "Version string '$_' is malformed.\n"; 24 25my ($major, $tag, $pretyp) = ($2, $1, $3); 26 27my $rel = defined($pretyp) ? $pretyp le "b" ? "ALPHA" : "BETA" : "FINAL"; 28 29my $prefix = "CRAWL"; 30 31open OUT, ">", "$outfile" or die $!; 32print OUT <<__eof__; 33#define ${prefix}_VERSION_MAJOR "$major" 34#define ${prefix}_VERSION_RELEASE VER_$rel 35#define ${prefix}_VERSION_SHORT "$tag" 36#define ${prefix}_VERSION_LONG "$_" 37__eof__ 38close OUT or die $!; 39