Home | History | Annotate | Download | only in build
      1 # Copyright (c) 2012 The Chromium 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 # This file is meant to be included into a target to handle shim headers
      6 # in a consistent manner. To use this the following variables need to be
      7 # defined:
      8 #   headers_root_path: string: path to directory containing headers
      9 #   header_filenames: list: list of header file names
     10 
     11 {
     12   'variables': {
     13     'shim_headers_path': '<(SHARED_INTERMEDIATE_DIR)/shim_headers/<(_target_name)/<(_toolset)',
     14     'shim_generator_additional_args%': [],
     15   },
     16   'include_dirs++': [
     17     '<(shim_headers_path)',
     18   ],
     19   'all_dependent_settings': {
     20     # Repeating this with different numbers of plusses is unfortunately required
     21     # to make sure that even if this include is inside nested conditions/etc, it
     22     # still gets inserted at the beginning of the include_dirs list. See
     23     # http://crbug.com/263818 for details.
     24     'include_dirs+++': [
     25       '<(shim_headers_path)',
     26     ],
     27     'include_dirs++++': [
     28       '<(shim_headers_path)',
     29     ],
     30     'include_dirs+++++': [
     31       '<(shim_headers_path)',
     32     ],
     33   },
     34   'actions': [
     35     {
     36       'variables': {
     37         'generator_path': '<(DEPTH)/tools/generate_shim_headers/generate_shim_headers.py',
     38         'generator_args': [
     39           '--headers-root', '<(headers_root_path)',
     40           '--output-directory', '<(shim_headers_path)',
     41           '<@(shim_generator_additional_args)',
     42           '<@(header_filenames)',
     43         ],
     44       },
     45       'action_name': 'generate_<(_target_name)_shim_headers',
     46       'inputs': [
     47         '<(generator_path)',
     48       ],
     49       'outputs': [
     50         '<!@pymod_do_main(generate_shim_headers <@(generator_args) --outputs)',
     51       ],
     52       'action': ['python',
     53                  '<(generator_path)',
     54                  '<@(generator_args)',
     55                  '--generate',
     56       ],
     57       'message': 'Generating <(_target_name) shim headers.',
     58     },
     59   ],
     60 }
     61