xref: /aosp_15_r20/external/cronet/third_party/icu/shim_headers.gypi (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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