summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/generate-vers.pl
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-07-09 20:39:50 +0000
committerGreg Clayton <gclayton@apple.com>2010-07-09 20:39:50 +0000
commitc982c768d248b21b82fbd70b61a4cc824cd82ddc (patch)
tree68c5d417ce51994a2d393e5a5a7f0025b6e4ed35 /lldb/scripts/generate-vers.pl
parent2a5725b1a324639d0e16e9c125f5713acfabca60 (diff)
downloadbcm5719-llvm-c982c768d248b21b82fbd70b61a4cc824cd82ddc.tar.gz
bcm5719-llvm-c982c768d248b21b82fbd70b61a4cc824cd82ddc.zip
Merged Eli Friedman's linux build changes where he added Makefile files that
enabled LLVM make style building and made this compile LLDB on Mac OS X. We can now iterate on this to make the build work on both linux and macosx. llvm-svn: 108009
Diffstat (limited to 'lldb/scripts/generate-vers.pl')
-rwxr-xr-xlldb/scripts/generate-vers.pl46
1 files changed, 46 insertions, 0 deletions
diff --git a/lldb/scripts/generate-vers.pl b/lldb/scripts/generate-vers.pl
new file mode 100755
index 00000000000..c874c2438e9
--- /dev/null
+++ b/lldb/scripts/generate-vers.pl
@@ -0,0 +1,46 @@
+#!/usr/bin/perl
+
+sub usage()
+{
+ print "Usage: generate-vers.pl /path/toproject.pbxproj";
+ exit(0);
+}
+
+(scalar @ARGV == 1) or usage();
+
+open $pbxproj, $ARGV[0] or die "Couldn't open ".$ARGV[0];
+
+$current_project_version = None;
+$product_name = None;
+
+while ($line = <$pbxproj>)
+{
+ chomp ($line);
+
+ if ($current_project_version == None &&
+ $line =~ /CURRENT_PROJECT_VERSION = ([0-9]+)/)
+ {
+ $current_project_version = $1;
+ }
+
+ if ($product_name == None &&
+ $line =~ /productName = ([^;]+)/)
+ {
+ $product_name = $1;
+ }
+}
+
+if (!$product_name || !$current_project_version)
+{
+ print "Couldn't get needed information from the .pbxproj";
+ exit(-1);
+}
+
+$uppercase_name = uc $product_name;
+$lowercase_name = lc $product_name;
+
+close $pbxproj;
+
+$file_string = " const unsigned char ".$uppercase_name."VersionString[] __attribute__ ((used)) = \"@(#)PROGRAM:".$uppercase_name." PROJECT:".$lowercase_name."-".$current_project_version."\" \"\\n\"; const double ".$uppercase_name."VersionNumber __attribute__ ((used)) = (double)".$current_project_version.".;\n";
+
+print $file_string;
OpenPOWER on IntegriCloud