1#!/usr/bin/env python 2# 3# Copyright 2014 PDFium Authors. All rights reserved. 4# Use of this source code is governed by a BSD-style license that can be 5# found in the LICENSE file. 6 7# This script is wrapper for PDFium that adds some support for how GYP 8# is invoked by PDFium beyond what can be done in the gclient hooks. 9 10import os 11import platform 12import sys 13 14script_dir = os.path.dirname(os.path.realpath(__file__)) 15pdfium_root = os.path.abspath(os.path.join(script_dir, os.pardir)) 16 17sys.path.insert(0, os.path.join(pdfium_root, 'build', 'gyp', 'pylib')) 18import gyp 19 20 21def run_gyp(args): 22 rc = gyp.main(args) 23 if rc != 0: 24 print 'Error running GYP' 25 sys.exit(rc) 26 27 28def main(): 29 args = sys.argv[1:] 30 args.append(os.path.join(script_dir, 'all.gyp')) 31 32 args.append('-I') 33 args.append(os.path.join(pdfium_root, 'build', 'standalone.gypi')) 34 35 args.extend(['-D', 'gyp_output_dir=out']) 36 37 # Set the GYP DEPTH variable to the root of the PDFium project. 38 args.append('--depth=' + os.path.relpath(pdfium_root)) 39 40 # GYP does not default to ninja, but PDFium should. 41 if not os.environ.get('GYP_GENERATORS', ''): 42 print 'GYP_GENERATORS is not set, defaulting to ninja' 43 os.environ['GYP_GENERATORS'] = 'ninja' 44 45 print 'Updating projects from gyp files...' 46 sys.stdout.flush() 47 48 run_gyp(args) 49 50 51if __name__ == '__main__': 52 sys.exit(main()) 53