summaryrefslogtreecommitdiffstats
path: root/build/mac
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-10 20:29:33 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-10 20:29:33 +0000
commit7b00ca46d3b0e19427e0d7f661868349b694172a (patch)
treee532be153c4c0d200e11be5b7f645b5ab8ffa8e7 /build/mac
parent6bcecb8ac60108012bbe107a07b620ac712dca5b (diff)
downloadchromium_src-7b00ca46d3b0e19427e0d7f661868349b694172a.zip
chromium_src-7b00ca46d3b0e19427e0d7f661868349b694172a.tar.gz
chromium_src-7b00ca46d3b0e19427e0d7f661868349b694172a.tar.bz2
Support Xcode 3.2.2 (prerelease) for release-mode builds.
The UUID format displayed by otool has changed. BUG=35162 TEST=Build in release mode with Xcode 3.2.2 (prerelease) Review URL: http://codereview.chromium.org/833001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41200 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/mac')
-rwxr-xr-xbuild/mac/strip_save_dsym51
1 files changed, 33 insertions, 18 deletions
diff --git a/build/mac/strip_save_dsym b/build/mac/strip_save_dsym
index 42d16cf..3904c17 100755
--- a/build/mac/strip_save_dsym
+++ b/build/mac/strip_save_dsym
@@ -118,27 +118,42 @@ def macho_uuids(macho):
else:
state = 6
elif state == 3:
- uuid_match = re.match("^ uuid 0x(..) 0x(..) 0x(..) 0x(..) "
- "0x(..) 0x(..) 0x(..) 0x(..)$",
- otool_line)
- if uuid_match:
- state = 4
- uuid = uuid_match.group(1) + uuid_match.group(2) + \
- uuid_match.group(3) + uuid_match.group(4) + "-" + \
- uuid_match.group(5) + uuid_match.group(6) + "-" + \
- uuid_match.group(7) + uuid_match.group(8) + "-"
+ # The UUID display format changed in the version of otool shipping
+ # with the Xcode 3.2.2 prerelease. The new format is traditional:
+ # uuid 4D7135B2-9C56-C5F5-5F49-A994258E0955
+ # The old format, from cctools-750 and older's otool, breaks the UUID
+ # up into a sequence of bytes:
+ # uuid 0x4d 0x71 0x35 0xb2 0x9c 0x56 0xc5 0xf5
+ # 0x5f 0x49 0xa9 0x94 0x25 0x8e 0x09 0x55
+ new_uuid_match = re.match("^ uuid (.{8}-.{4}-.{4}-.{4}-.{12})$",
+ otool_line)
+ if new_uuid_match:
+ uuid = new_uuid_match.group(1)
+
+ # Skip state 4, there is no second line to read.
+ state = 5
else:
- state = 6
+ old_uuid_match = re.match("^ uuid 0x(..) 0x(..) 0x(..) 0x(..) "
+ "0x(..) 0x(..) 0x(..) 0x(..)$",
+ otool_line)
+ if old_uuid_match:
+ state = 4
+ uuid = old_uuid_match.group(1) + old_uuid_match.group(2) + \
+ old_uuid_match.group(3) + old_uuid_match.group(4) + "-" + \
+ old_uuid_match.group(5) + old_uuid_match.group(6) + "-" + \
+ old_uuid_match.group(7) + old_uuid_match.group(8) + "-"
+ else:
+ state = 6
elif state == 4:
- uuid_match = re.match("^ 0x(..) 0x(..) 0x(..) 0x(..) "
- "0x(..) 0x(..) 0x(..) 0x(..)$",
- otool_line)
- if uuid_match:
+ old_uuid_match = re.match("^ 0x(..) 0x(..) 0x(..) 0x(..) "
+ "0x(..) 0x(..) 0x(..) 0x(..)$",
+ otool_line)
+ if old_uuid_match:
state = 5
- uuid += uuid_match.group(1) + uuid_match.group(2) + "-" + \
- uuid_match.group(3) + uuid_match.group(4) + \
- uuid_match.group(5) + uuid_match.group(6) + \
- uuid_match.group(7) + uuid_match.group(8)
+ uuid += old_uuid_match.group(1) + old_uuid_match.group(2) + "-" + \
+ old_uuid_match.group(3) + old_uuid_match.group(4) + \
+ old_uuid_match.group(5) + old_uuid_match.group(6) + \
+ old_uuid_match.group(7) + old_uuid_match.group(8)
else:
state = 6