diff options
author | weili <weili@chromium.org> | 2016-04-28 15:26:45 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-28 15:26:45 -0700 |
commit | 9a1b665f8a6762927b7fa4fb9c812f00e8d3135e (patch) | |
tree | 883b17bc1bccaed288d8da5ad01630b05122cae9 /build_gyp/find_depot_tools.py | |
parent | 33a747db5c9ce18bdfaaaaea17b03ef26d14ff54 (diff) | |
download | pdfium-9a1b665f8a6762927b7fa4fb9c812f00e8d3135e.tar.xz |
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
Diffstat (limited to 'build_gyp/find_depot_tools.py')
-rw-r--r-- | build_gyp/find_depot_tools.py | 60 |
1 files changed, 60 insertions, 0 deletions
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()) |