From 590f2d9e057a0d5b17a9706affd3c6115265021b Mon Sep 17 00:00:00 2001 From: weili Date: Wed, 27 Apr 2016 14:06:57 -0700 Subject: 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. Review-Url: https://codereview.chromium.org/1897523002 --- build_gyp/gyp_pdfium | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'build_gyp/gyp_pdfium') diff --git a/build_gyp/gyp_pdfium b/build_gyp/gyp_pdfium index c79593b990..23b1c719c2 100755 --- a/build_gyp/gyp_pdfium +++ b/build_gyp/gyp_pdfium @@ -13,13 +13,23 @@ import sys script_dir = os.path.dirname(os.path.realpath(__file__)) pdfium_root = os.path.abspath(os.path.join(script_dir, os.pardir)) +output_rel_dir = 'out' sys.path.insert(0, os.path.join(pdfium_root, 'tools', 'gyp', 'pylib')) import gyp - +# vs_toolchain needs to be after gyp path setting since it also uses gyp. +import vs_toolchain def run_gyp(args): rc = gyp.main(args) + + # Copy Windows toolchain DLLs. + vs_runtime_dll_dirs = vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs() + if vs_runtime_dll_dirs: + x64_runtime, x86_runtime = vs_runtime_dll_dirs + vs_toolchain.CopyVsRuntimeDlls( + os.path.join(pdfium_root, output_rel_dir), (x86_runtime, x64_runtime)) + if rc != 0: print 'Error running GYP' sys.exit(rc) @@ -36,7 +46,7 @@ def main(): args.append('-I') args.append(os.path.join(pdfium_root, 'build_gyp', 'standalone.gypi')) - args.extend(['-D', 'gyp_output_dir=out']) + args.extend(['-D', 'gyp_output_dir=' + output_rel_dir]) # Set the GYP DEPTH variable to the root of the PDFium project. args.append('--depth=' + os.path.relpath(pdfium_root)) @@ -46,6 +56,9 @@ def main(): print 'GYP_GENERATORS is not set, defaulting to ninja' os.environ['GYP_GENERATORS'] = 'ninja' + # Set up the environment variables. + vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs() + print 'Updating projects from gyp files...' sys.stdout.flush() -- cgit v1.2.3