Greg Clayton | 54e7afa | 2010-07-09 20:39:50 +0000 | [diff] [blame] | 1 | #!/usr/bin/perl |
| 2 | |
| 3 | sub usage() |
| 4 | { |
| 5 | print "Usage: generate-vers.pl /path/toproject.pbxproj"; |
| 6 | exit(0); |
| 7 | } |
| 8 | |
| 9 | (scalar @ARGV == 1) or usage(); |
| 10 | |
| 11 | open $pbxproj, $ARGV[0] or die "Couldn't open ".$ARGV[0]; |
| 12 | |
Sean Callanan | 6778c99 | 2013-03-07 22:29:06 +0000 | [diff] [blame] | 13 | $lldb_version = None; |
| 14 | $lldb_train = None; |
| 15 | $lldb_revision = None; |
| 16 | $lldb_version_string = None; |
| 17 | |
| 18 | $product_name = "lldb"; |
Greg Clayton | 54e7afa | 2010-07-09 20:39:50 +0000 | [diff] [blame] | 19 | |
| 20 | while ($line = <$pbxproj>) |
| 21 | { |
| 22 | chomp ($line); |
| 23 | |
Sean Callanan | 6778c99 | 2013-03-07 22:29:06 +0000 | [diff] [blame] | 24 | if ($lldb_version == None && |
| 25 | $line =~ /CURRENT_PROJECT_VERSION = ([0-9]+).([0-9]+).([0-9]+)(.[0-9])?/) |
Greg Clayton | 54e7afa | 2010-07-09 20:39:50 +0000 | [diff] [blame] | 26 | { |
Sean Callanan | 6778c99 | 2013-03-07 22:29:06 +0000 | [diff] [blame] | 27 | $lldb_version = $1; |
| 28 | $lldb_train = $2; |
| 29 | $lldb_revision = $3; |
| 30 | $lldb_patchlevel = $4; |
| 31 | |
| 32 | if ($lldb_patchlevel != None) |
| 33 | { |
| 34 | $lldb_version_string = $lldb_version.".".$lldb_train.".".$lldb_revision.".".$lldb_patchlevel; |
| 35 | } |
| 36 | else |
| 37 | { |
| 38 | $lldb_version_string = $lldb_version.".".$lldb_train.".".$lldb_revision; |
| 39 | } |
Greg Clayton | 54e7afa | 2010-07-09 20:39:50 +0000 | [diff] [blame] | 40 | } |
| 41 | } |
| 42 | |
Sean Callanan | 6778c99 | 2013-03-07 22:29:06 +0000 | [diff] [blame] | 43 | if (!$product_name || !$lldb_version_string) |
Greg Clayton | 54e7afa | 2010-07-09 20:39:50 +0000 | [diff] [blame] | 44 | { |
| 45 | print "Couldn't get needed information from the .pbxproj"; |
| 46 | exit(-1); |
| 47 | } |
| 48 | |
| 49 | $uppercase_name = uc $product_name; |
| 50 | $lowercase_name = lc $product_name; |
| 51 | |
| 52 | close $pbxproj; |
| 53 | |
Sean Callanan | 6778c99 | 2013-03-07 22:29:06 +0000 | [diff] [blame] | 54 | $file_string = " const unsigned char liblldb_coreVersionString[] __attribute__ ((used)) = \"@(#)PROGRAM:".$uppercase_name." PROJECT:".$lowercase_name."-".$lldb_version_string."\" \"\\n\"; const double liblldb_coreVersionNumber __attribute__ ((used)) = (double)".$lldb_version.".".$lldb_train.";\n"; |
Greg Clayton | 54e7afa | 2010-07-09 20:39:50 +0000 | [diff] [blame] | 55 | |
| 56 | print $file_string; |