From 9a1b665f8a6762927b7fa4fb9c812f00e8d3135e Mon Sep 17 00:00:00 2001 From: weili Date: Thu, 28 Apr 2016 15:26:45 -0700 Subject: Reland of Use visual studio toolchain from depot_tools for PDFium compilation (patchset #1 id:1 of https://codereview.chromium.org/1922373003/ ) Reason for revert: I fixed Clang build config, and updated drm binary. Should work this time. Original issue's description: > Revert of Use visual studio toolchain from depot_tools for PDFium compilation (patchset #3 id:40001 of https://codereview.chromium.org/1897523002/ ) > > Reason for revert: > Clang build is broken. drm build has some problem. Will revert this change for now. > > Original issue's description: > > Use visual studio toolchain from depot_tools for PDFium compilation > > > > Change to use visual studio toolchain from depot_tools by default. > > Setting DEPOT_TOOLS_WIN_TOOLCHAIN=0 allows compilation using system > > toolchain as before. > > > > Using toolchain from depot_tools unifies the compilation > > environment, and brings the benefits of automated update, bug fixes > > etc. > > > > Committed: https://pdfium.googlesource.com/pdfium/+/590f2d9e057a0d5b17a9706affd3c6115265021b > > TBR=brucedawson@chromium.org,thestig@chromium.org,tsepez@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://pdfium.googlesource.com/pdfium/+/df96690d4e3799536b981e3673d64018fa5fd037 TBR=brucedawson@chromium.org,thestig@chromium.org,tsepez@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/1927373002 --- build_gyp/find_depot_tools.py | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 build_gyp/find_depot_tools.py (limited to 'build_gyp/find_depot_tools.py') diff --git a/build_gyp/find_depot_tools.py b/build_gyp/find_depot_tools.py new file mode 100644 index 0000000000..6ec83b3d5c --- /dev/null +++ b/build_gyp/find_depot_tools.py @@ -0,0 +1,60 @@ +#!/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. +"""Small utility function to find depot_tools and add it to the python path. + +Will throw an ImportError exception if depot_tools can't be found since it +imports breakpad. + +This can also be used as a standalone script to print out the depot_tools +directory location. +""" + +import os +import sys + + +def IsRealDepotTools(path): + return os.path.isfile(os.path.join(path, 'gclient.py')) + + +def add_depot_tools_to_path(): + """Search for depot_tools and add it to sys.path.""" + # First look if depot_tools is already in PYTHONPATH. + for i in sys.path: + if i.rstrip(os.sep).endswith('depot_tools') and IsRealDepotTools(i): + return i + # Then look if depot_tools is in PATH, common case. + for i in os.environ['PATH'].split(os.pathsep): + if IsRealDepotTools(i): + sys.path.append(i.rstrip(os.sep)) + return i + # Rare case, it's not even in PATH, look upward up to root. + root_dir = os.path.dirname(os.path.abspath(__file__)) + previous_dir = os.path.abspath(__file__) + while root_dir and root_dir != previous_dir: + i = os.path.join(root_dir, 'depot_tools') + if IsRealDepotTools(i): + sys.path.append(i) + return i + previous_dir = root_dir + root_dir = os.path.dirname(root_dir) + print >> sys.stderr, 'Failed to find depot_tools' + return None + +DEPOT_TOOLS_PATH = add_depot_tools_to_path() + +# pylint: disable=W0611 +import breakpad + + +def main(): + if DEPOT_TOOLS_PATH is None: + return 1 + print DEPOT_TOOLS_PATH + return 0 + + +if __name__ == '__main__': + sys.exit(main()) -- cgit v1.2.3