# Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # This file is meant to be included into a target to handle shim headers # in a consistent manner. To use this the following variables need to be # defined: # headers_root_path: string: path to directory containing headers # header_filenames: list: list of header file names { 'variables': { 'shim_headers_path': '<(SHARED_INTERMEDIATE_DIR)/shim_headers/<(_target_name)/<(_toolset)', 'shim_generator_additional_args%': [], }, 'include_dirs++': [ '<(shim_headers_path)', ], 'all_dependent_settings': { # Repeating this with different numbers of plusses is unfortunately required # to make sure that even if this include is inside nested conditions/etc, it # still gets inserted at the beginning of the include_dirs list. See # http://crbug.com/263818 for details. 'include_dirs+++': [ '<(shim_headers_path)', ], 'include_dirs++++': [ '<(shim_headers_path)', ], 'include_dirs+++++': [ '<(shim_headers_path)', ], }, 'actions': [ { 'variables': { 'generator_path': '<(DEPTH)/tools/generate_shim_headers/generate_shim_headers.py', 'generator_args': [ '--headers-root', '<(headers_root_path)', '--output-directory', '<(shim_headers_path)', '<@(shim_generator_additional_args)', '<@(header_filenames)', ], }, 'action_name': 'generate_<(_target_name)_shim_headers', 'inputs': [ '<(generator_path)', ], 'outputs': [ '<!@pymod_do_main(generate_shim_headers <@(generator_args) --outputs)', ], 'action': ['python', '<(generator_path)', '<@(generator_args)', '--generate', ], 'message': 'Generating <(_target_name) shim headers', }, ], }