Home | History | Annotate | Download | only in src
      1 # Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 {
      6     'variables':
      7     {
      8         'angle_code': 1,
      9         'angle_post_build_script%': 0,
     10         'angle_gen_path': '<(SHARED_INTERMEDIATE_DIR)/angle',
     11         'angle_id_script_base': 'commit_id.py',
     12         'angle_id_script': '<(angle_gen_path)/<(angle_id_script_base)',
     13         'angle_id_header_base': 'commit.h',
     14         'angle_id_header': '<(angle_gen_path)/id/<(angle_id_header_base)',
     15         'angle_use_commit_id%': '<!(python <(angle_id_script_base) check ..)',
     16     },
     17     'includes':
     18     [
     19         'compiler.gypi',
     20         'libGLESv2.gypi',
     21         'libEGL.gypi'
     22     ],
     23 
     24     'targets':
     25     [
     26         {
     27             'target_name': 'copy_scripts',
     28             'type': 'none',
     29             'copies':
     30             [
     31                 {
     32                     'destination': '<(angle_gen_path)',
     33                     'files': [ 'copy_compiler_dll.bat', '<(angle_id_script_base)' ],
     34                 },
     35             ],
     36         },
     37     ],
     38     'conditions':
     39     [
     40         ['angle_use_commit_id!=0',
     41         {
     42             'targets':
     43             [
     44                 {
     45                     'target_name': 'commit_id',
     46                     'type': 'none',
     47                     'includes': [ '../build/common_defines.gypi', ],
     48                     'dependencies': [ 'copy_scripts', ],
     49                     'actions':
     50                     [
     51                         {
     52                             'action_name': 'Generate ANGLE Commit ID Header',
     53                             'message': 'Generating ANGLE Commit ID',
     54                             # reference the git index as an input, so we rebuild on changes to the index
     55                             'inputs': [ '<(angle_id_script)', '<(angle_path)/.git/index' ],
     56                             'outputs': [ '<(angle_id_header)' ],
     57                             'msvs_cygwin_shell': 0,
     58                             'action':
     59                             [
     60                                 'python', '<(angle_id_script)', 'gen', '<(angle_path)', '<(angle_id_header)'
     61                             ],
     62                         },
     63                     ],
     64                     'direct_dependent_settings':
     65                     {
     66                         'include_dirs':
     67                         [
     68                             '<(angle_gen_path)',
     69                         ],
     70                     },
     71                 }
     72             ]
     73         },
     74         { # angle_use_commit_id==0
     75             'targets':
     76             [
     77                 {
     78                     'target_name': 'commit_id',
     79                     'type': 'none',
     80                     'copies':
     81                     [
     82                         {
     83                             'destination': '<(angle_gen_path)/id',
     84                             'files': [ '<(angle_id_header_base)' ]
     85                         }
     86                     ],
     87                     'direct_dependent_settings':
     88                     {
     89                         'include_dirs':
     90                         [
     91                             '<(angle_gen_path)',
     92                         ],
     93                     },
     94                 }
     95             ]
     96         }],
     97         ['OS=="win"',
     98         {
     99             'targets':
    100             [
    101                 {
    102                     'target_name': 'copy_compiler_dll',
    103                     'type': 'none',
    104                     'dependencies': [ 'copy_scripts', ],
    105                     'includes': [ '../build/common_defines.gypi', ],
    106                     'actions':
    107                     [
    108                         {
    109                             'action_name': 'copy_dll',
    110                             'message': 'Copying D3D Compiler DLL...',
    111                             'msvs_cygwin_shell': 0,
    112                             'inputs': [ 'copy_compiler_dll.bat' ],
    113                             'outputs': [ '<(PRODUCT_DIR)/D3DCompiler_46.dll' ],
    114                             'action':
    115                             [
    116                                 "<(angle_gen_path)/copy_compiler_dll.bat",
    117                                 "$(PlatformName)",
    118                                 "<(windows_sdk_path)",
    119                                 "<(PRODUCT_DIR)"
    120                             ],
    121                         },
    122                     ], #actions
    123                 },
    124             ], # targets
    125         }],
    126         ['angle_post_build_script!=0 and OS=="win"',
    127         {
    128             'targets':
    129             [
    130                 {
    131                     'target_name': 'post_build',
    132                     'type': 'none',
    133                     'includes': [ '../build/common_defines.gypi', ],
    134                     'dependencies': [ 'libGLESv2', 'libEGL' ],
    135                     'actions':
    136                     [
    137                         {
    138                             'action_name': 'ANGLE Post-Build Script',
    139                             'message': 'Running <(angle_post_build_script)...',
    140                             'msvs_cygwin_shell': 0,
    141                             'inputs': [ '<(angle_post_build_script)', '<!@(["python", "<(angle_post_build_script)", "inputs", "<(angle_path)", "<(CONFIGURATION_NAME)", "$(PlatformName)", "<(PRODUCT_DIR)"])' ],
    142                             'outputs': [ '<!@(python <(angle_post_build_script) outputs "<(angle_path)" "<(CONFIGURATION_NAME)" "$(PlatformName)" "<(PRODUCT_DIR)")' ],
    143                             'action': ['python', '<(angle_post_build_script)', 'run', '<(angle_path)', '<(CONFIGURATION_NAME)', '$(PlatformName)', '<(PRODUCT_DIR)'],
    144                         },
    145                     ], #actions
    146                 },
    147             ], # targets
    148         }],
    149     ] # conditions
    150 }
    151