From a123f0184894073a8495bc0cf49b5c890781b289 Mon Sep 17 00:00:00 2001 From: weili Date: Wed, 30 Mar 2016 14:24:10 -0700 Subject: Move mac_find_sdk out of gyp directory Gyp directory is used by a separate repository. Files in that directory may be ignored by some commands. Move it back into pdfium repository. BUG=pdfium:442 Review URL: https://codereview.chromium.org/1835943005 --- build/gyp/tools/mac_find_sdk.py | 93 ----------------------------------------- build/mac_find_sdk.py | 93 +++++++++++++++++++++++++++++++++++++++++ build/standalone.gypi | 2 +- 3 files changed, 94 insertions(+), 94 deletions(-) delete mode 100644 build/gyp/tools/mac_find_sdk.py create mode 100644 build/mac_find_sdk.py diff --git a/build/gyp/tools/mac_find_sdk.py b/build/gyp/tools/mac_find_sdk.py deleted file mode 100644 index 230c2fd52e..0000000000 --- a/build/gyp/tools/mac_find_sdk.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env python -# Copyright 2016 PDFium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -"""Prints the lowest locally available SDK version greater than or equal to a -given minimum sdk version to standard output. - -Usage: - python mac_find_sdk.py 10.6 # Ignores SDKs < 10.6 -""" - -import os -import re -import subprocess -import sys - - -from optparse import OptionParser - - -def parse_version(version_str): - """'10.6' => [10, 6]""" - return map(int, re.findall(r'(\d+)', version_str)) - - -def main(): - parser = OptionParser() - parser.add_option("--verify", - action="store_true", dest="verify", default=False, - help="return the sdk argument and warn if it doesn't exist") - parser.add_option("--sdk_path", - action="store", type="string", dest="sdk_path", default="", - help="user-specified SDK path; bypasses verification") - parser.add_option("--print_sdk_path", - action="store_true", dest="print_sdk_path", default=False, - help="Additionaly print the path the SDK (appears first).") - options, args = parser.parse_args() - if len(args) != 1: - parser.error('Please specify a minimum SDK version') - min_sdk_version = args[0] - - job = subprocess.Popen(['xcode-select', '-print-path'], - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) - out, err = job.communicate() - if job.returncode != 0: - print >> sys.stderr, out - print >> sys.stderr, err - raise Exception(('Error %d running xcode-select, you might have to run ' - '|sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer| ' - 'if you are using Xcode 4.') % job.returncode) - # The Developer folder moved in Xcode 4.3. - xcode43_sdk_path = os.path.join( - out.rstrip(), 'Platforms/MacOSX.platform/Developer/SDKs') - if os.path.isdir(xcode43_sdk_path): - sdk_dir = xcode43_sdk_path - else: - sdk_dir = os.path.join(out.rstrip(), 'SDKs') - sdks = [re.findall('^MacOSX(10\.\d+)\.sdk$', s) for s in os.listdir(sdk_dir)] - sdks = [s[0] for s in sdks if s] # [['10.5'], ['10.6']] => ['10.5', '10.6'] - sdks = [s for s in sdks # ['10.5', '10.6'] => ['10.6'] - if parse_version(s) >= parse_version(min_sdk_version)] - if not sdks: - raise Exception('No %s+ SDK found' % min_sdk_version) - best_sdk = sorted(sdks, key=parse_version)[0] - - if options.verify and best_sdk != min_sdk_version and not options.sdk_path: - print >> sys.stderr, '' - print >> sys.stderr, ' vvvvvvv' - print >> sys.stderr, '' - print >> sys.stderr, \ - 'This build requires the %s SDK, but it was not found on your system.' \ - % min_sdk_version - print >> sys.stderr, \ - 'Either install it, or explicitly set mac_sdk in your GYP_DEFINES.' - print >> sys.stderr, '' - print >> sys.stderr, ' ^^^^^^^' - print >> sys.stderr, '' - return min_sdk_version - - if options.print_sdk_path: - print subprocess.check_output(['xcodebuild', '-version', '-sdk', - 'macosx' + best_sdk, 'Path']).strip() - - return best_sdk - - -if __name__ == '__main__': - if sys.platform != 'darwin': - raise Exception("This script only runs on Mac") - print main() - sys.exit(0) diff --git a/build/mac_find_sdk.py b/build/mac_find_sdk.py new file mode 100644 index 0000000000..230c2fd52e --- /dev/null +++ b/build/mac_find_sdk.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python +# Copyright 2016 PDFium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Prints the lowest locally available SDK version greater than or equal to a +given minimum sdk version to standard output. + +Usage: + python mac_find_sdk.py 10.6 # Ignores SDKs < 10.6 +""" + +import os +import re +import subprocess +import sys + + +from optparse import OptionParser + + +def parse_version(version_str): + """'10.6' => [10, 6]""" + return map(int, re.findall(r'(\d+)', version_str)) + + +def main(): + parser = OptionParser() + parser.add_option("--verify", + action="store_true", dest="verify", default=False, + help="return the sdk argument and warn if it doesn't exist") + parser.add_option("--sdk_path", + action="store", type="string", dest="sdk_path", default="", + help="user-specified SDK path; bypasses verification") + parser.add_option("--print_sdk_path", + action="store_true", dest="print_sdk_path", default=False, + help="Additionaly print the path the SDK (appears first).") + options, args = parser.parse_args() + if len(args) != 1: + parser.error('Please specify a minimum SDK version') + min_sdk_version = args[0] + + job = subprocess.Popen(['xcode-select', '-print-path'], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + out, err = job.communicate() + if job.returncode != 0: + print >> sys.stderr, out + print >> sys.stderr, err + raise Exception(('Error %d running xcode-select, you might have to run ' + '|sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer| ' + 'if you are using Xcode 4.') % job.returncode) + # The Developer folder moved in Xcode 4.3. + xcode43_sdk_path = os.path.join( + out.rstrip(), 'Platforms/MacOSX.platform/Developer/SDKs') + if os.path.isdir(xcode43_sdk_path): + sdk_dir = xcode43_sdk_path + else: + sdk_dir = os.path.join(out.rstrip(), 'SDKs') + sdks = [re.findall('^MacOSX(10\.\d+)\.sdk$', s) for s in os.listdir(sdk_dir)] + sdks = [s[0] for s in sdks if s] # [['10.5'], ['10.6']] => ['10.5', '10.6'] + sdks = [s for s in sdks # ['10.5', '10.6'] => ['10.6'] + if parse_version(s) >= parse_version(min_sdk_version)] + if not sdks: + raise Exception('No %s+ SDK found' % min_sdk_version) + best_sdk = sorted(sdks, key=parse_version)[0] + + if options.verify and best_sdk != min_sdk_version and not options.sdk_path: + print >> sys.stderr, '' + print >> sys.stderr, ' vvvvvvv' + print >> sys.stderr, '' + print >> sys.stderr, \ + 'This build requires the %s SDK, but it was not found on your system.' \ + % min_sdk_version + print >> sys.stderr, \ + 'Either install it, or explicitly set mac_sdk in your GYP_DEFINES.' + print >> sys.stderr, '' + print >> sys.stderr, ' ^^^^^^^' + print >> sys.stderr, '' + return min_sdk_version + + if options.print_sdk_path: + print subprocess.check_output(['xcodebuild', '-version', '-sdk', + 'macosx' + best_sdk, 'Path']).strip() + + return best_sdk + + +if __name__ == '__main__': + if sys.platform != 'darwin': + raise Exception("This script only runs on Mac") + print main() + sys.exit(0) diff --git a/build/standalone.gypi b/build/standalone.gypi index fe4995beb0..925326b794 100644 --- a/build/standalone.gypi +++ b/build/standalone.gypi @@ -454,7 +454,7 @@ ], # target_conditions 'variables': { 'mac_sdk_min': '10.10', - 'mac_sdk%': '