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