diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-10 20:29:33 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-10 20:29:33 +0000 |
commit | 7b00ca46d3b0e19427e0d7f661868349b694172a (patch) | |
tree | e532be153c4c0d200e11be5b7f645b5ab8ffa8e7 /build/mac | |
parent | 6bcecb8ac60108012bbe107a07b620ac712dca5b (diff) | |
download | chromium_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-x | build/mac/strip_save_dsym | 51 |
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 |