• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# The GN build definitions for these variables are in scripts.gni.
2{
3    'variables': {
4        'scripts_for_in_files': [
5            # jinja2/__init__.py contains version string, so sufficient as
6            # dependency for whole jinja2 package
7            '<(DEPTH)/third_party/jinja2/__init__.py',
8            '<(DEPTH)/third_party/markupsafe/__init__.py',  # jinja2 dep
9            'hasher.py',
10            'in_file.py',
11            'in_generator.py',
12            'license.py',
13            'name_macros.py',
14            'name_utilities.py',
15            'template_expander.py',
16            'templates/macros.tmpl',
17        ],
18        'make_event_factory_files': [
19            '<@(scripts_for_in_files)',
20            'make_event_factory.py',
21            'templates/EventFactory.cpp.tmpl',
22        ],
23        'make_names_files': [
24            '<@(scripts_for_in_files)',
25            'make_names.py',
26            'templates/MakeNames.cpp.tmpl',
27            'templates/MakeNames.h.tmpl',
28        ],
29        'make_qualified_names_files': [
30            '<@(scripts_for_in_files)',
31            'make_qualified_names.py',
32            'templates/MakeQualifiedNames.cpp.tmpl',
33            'templates/MakeQualifiedNames.h.tmpl',
34        ],
35        'make_element_factory_files': [
36            '<@(make_qualified_names_files)',
37            'make_element_factory.py',
38            'templates/ElementFactory.cpp.tmpl',
39            'templates/ElementFactory.h.tmpl',
40            'templates/ElementWrapperFactory.cpp.tmpl',
41            'templates/ElementWrapperFactory.h.tmpl',
42        ],
43        'make_element_type_helpers_files': [
44            '<@(make_qualified_names_files)',
45            'make_element_type_helpers.py',
46            'templates/ElementTypeHelpers.h.tmpl',
47        ],
48        'conditions': [
49            ['OS=="win"', {
50                # Using native perl rather than cygwin perl cuts execution time
51                # of idl preprocessing rules by a bit more than 50%.
52                'perl_exe': '<(DEPTH)/third_party/perl/perl/bin/perl.exe',
53                'gperf_exe': '<(DEPTH)/third_party/gperf/bin/gperf.exe',
54                'bison_exe': '<(DEPTH)/third_party/bison/bin/bison.exe',
55                # Using cl instead of cygwin gcc cuts the processing time from
56                # 1m58s to 0m52s.
57                'preprocessor': '--preprocessor "cl.exe -nologo -EP -TP"',
58              },{
59                'perl_exe': 'perl',
60                'gperf_exe': 'gperf',
61                'bison_exe': 'bison',
62                # We specify a preprocess so it happens locally and won't get
63                # distributed to goma.
64                # FIXME: /usr/bin/gcc won't exist on OSX forever. We want to
65                # use /usr/bin/clang once we require Xcode 4.x.
66                'preprocessor': '--preprocessor "/usr/bin/gcc -E -P -x c++"'
67              }],
68         ],
69    },
70}
71