Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: build/config/mac/sdk_info.py

Issue 1993653002: [GN] Use "xcrun" instead of "xcodebuild" to get information on SDK. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix-gn-check-ios
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import os 5 import os
6 import subprocess 6 import subprocess
7 import sys 7 import sys
8 8
9 # This script prints information about the build system, the operating 9 # This script prints information about the build system, the operating
10 # system and the iOS or Mac SDK (depending on the platform "iphonesimulator", 10 # system and the iOS or Mac SDK (depending on the platform "iphonesimulator",
11 # "iphoneos" or "macosx" generally). 11 # "iphoneos" or "macosx" generally).
12 # 12 #
13 # In the GYP build, this is done inside GYP itself based on the SDKROOT 13 # In the GYP build, this is done inside GYP itself based on the SDKROOT
14 # variable. 14 # variable.
15 15
16 def FormatVersion(version): 16 def FormatVersion(version):
17 """Converts Xcode version to a format required for Info.plist.""" 17 """Converts Xcode version to a format required for Info.plist."""
18 version = version.replace('.', '') 18 version = version.replace('.', '')
19 version = version + '0' * (3 - len(version)) 19 version = version + '0' * (3 - len(version))
20 return version.zfill(4) 20 return version.zfill(4)
21 21
22 22
23 def FillXcodeVersion(settings): 23 def FillXcodeVersion(settings):
24 """Fills the Xcode version and build number into |settings|.""" 24 """Fills the Xcode version and build number into |settings|."""
25 lines = subprocess.check_output(['xcodebuild', '-version']).splitlines() 25 lines = subprocess.check_output(['xcodebuild', '-version']).splitlines()
sdefresne 2016/05/18 09:42:39 I have not found an "xcrun" substitute for those s
26 settings['xcode_version'] = FormatVersion(lines[0].split()[-1]) 26 settings['xcode_version'] = FormatVersion(lines[0].split()[-1])
27 settings['xcode_build'] = lines[-1].split()[-1] 27 settings['xcode_build'] = lines[-1].split()[-1]
28 28
29 29
30 def FillMachineOSBuild(settings): 30 def FillMachineOSBuild(settings):
31 """Fills OS build number into |settings|.""" 31 """Fills OS build number into |settings|."""
32 settings['machine_os_build'] = subprocess.check_output( 32 settings['machine_os_build'] = subprocess.check_output(
33 ['sw_vers', '-buildVersion']).strip() 33 ['sw_vers', '-buildVersion']).strip()
34 34
35 35
36 def FillSDKPathAndVersion(settings, platform): 36 def FillSDKPathAndVersion(settings, platform):
37 """Fills the SDK path and version for |platform| into |settings|.""" 37 """Fills the SDK path and version for |platform| into |settings|."""
38 lines = subprocess.check_output(['xcodebuild', '-version', '-sdk', 38 settings['sdk_path'] = subprocess.check_output([
39 platform, 'Path', 'SDKVersion', 'ProductBuildVersion']).splitlines() 39 'xcrun', '-sdk', platform, '--show-sdk-path']).strip()
40 settings['sdk_path'] = lines[0] 40 settings['sdk_version'] = subprocess.check_output([
41 settings['sdk_version'] = lines[1] 41 'xcrun', '-sdk', platform, '--show-sdk-version']).strip()
42 settings['sdk_build'] = lines[2] 42 settings['sdk_build'] = subprocess.check_output([
43 'xcrun', '-sdk', platform, '--show-sdk-build-version']).strip()
Nico 2016/05/18 11:21:06 Hm, my xcrun doesn't know --show-sdk-build-version
sdefresne 2016/05/18 14:45:02 I don't know why gyp does not use it, but when I b
43 44
44 45
45 if __name__ == '__main__': 46 if __name__ == '__main__':
46 if len(sys.argv) != 2: 47 if len(sys.argv) != 2:
47 sys.stderr.write( 48 sys.stderr.write(
48 'usage: %s [iphoneos|iphonesimulator|macosx]\n' % 49 'usage: %s [iphoneos|iphonesimulator|macosx]\n' %
49 os.path.basename(sys.argv[0])) 50 os.path.basename(sys.argv[0]))
50 sys.exit(1) 51 sys.exit(1)
51 52
52 settings = {} 53 settings = {}
53 FillSDKPathAndVersion(settings, sys.argv[1]) 54 FillSDKPathAndVersion(settings, sys.argv[1])
54 FillMachineOSBuild(settings) 55 FillMachineOSBuild(settings)
55 FillXcodeVersion(settings) 56 FillXcodeVersion(settings)
56 57
57 for key in sorted(settings): 58 for key in sorted(settings):
58 print '%s="%s"' % (key, settings[key]) 59 print '%s="%s"' % (key, settings[key])
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698