Home | History | Annotate | Download | only in build
      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 
     10 import os
     11 import platform
     12 import sys
     13 
     14 script_dir = os.path.dirname(os.path.realpath(__file__))
     15 pdfium_root = os.path.abspath(os.path.join(script_dir, os.pardir))
     16 
     17 sys.path.insert(0, os.path.join(pdfium_root, 'build', 'gyp', 'pylib'))
     18 import gyp
     19 
     20 
     21 def run_gyp(args):
     22   rc = gyp.main(args)
     23   if rc != 0:
     24     print 'Error running GYP'
     25     sys.exit(rc)
     26 
     27 
     28 def 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 
     51 if __name__ == '__main__':
     52   sys.exit(main())
     53