summaryrefslogtreecommitdiff
path: root/chromium/content/browser/tracing/tracing_resources.gyp
blob: fcd132fadd4d85971a204d0b67e513c9803680d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# Copyright 2013 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.

{
  'variables': {
    'trace_viewer_src_dir': '../../../third_party/trace-viewer',
    'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing',
  },
  'targets': [
    {
      # GN version: //content/browser/tracing:generate_tracing_grd
      'target_name': 'generate_tracing_grd',
      'type': 'none',
      'dependencies': [
        '<(trace_viewer_src_dir)/trace_viewer.gyp:generate_about_tracing',
      ],
      'actions': [
        {
          'action_name': 'generate_tracing_grd',
          'script_name': 'generate_trace_viewer_grd.py',
          'input_pages': [
            '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/about_tracing.html',
            '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/about_tracing.js'
          ],
          'inputs': [
            '<@(_script_name)',
            '<@(_input_pages)'
          ],
          'outputs': [
            '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd'
          ],
          'action': [
            'python', '<@(_script_name)', '<@(_input_pages)', '--output', '<@(_outputs)'
          ]
        }
      ]
    },

    {
      # GN version: //content/browser/tracing:resources
      'target_name': 'tracing_resources',
      'type': 'none',
      'dependencies': [
        '<(trace_viewer_src_dir)/trace_viewer.gyp:generate_about_tracing',
        'generate_tracing_grd',
      ],
      'variables': {
        'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing',
      },
      'actions': [
        {
          'action_name': 'tracing_resources',
          # This can't use build/grit_action.gypi because the grd file
          # is generated at build time, so the trick of using grit_info to get
          # the real inputs/outputs at GYP time isn't possible.
          'variables': {
            'grit_cmd': ['python', '../../../tools/grit/grit.py'],
            'grit_grd_file': '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd',
            'grit_rc_header_format%': '',

            'conditions': [
              # These scripts can skip writing generated files if they are
              # identical to the already existing files, which avoids further
              # build steps, like recompilation. However, a dependency (earlier
              # build step) having a newer timestamp than an output (later
              # build step) confuses some build systems, so only use this on
              # ninja, which explicitly supports this use case (gyp turns all
              # actions into ninja restat rules).
              ['"<(GENERATOR)"=="ninja"', {
                'write_only_new': '1',
              }, {
                'write_only_new': '0',
              }],
            ],
          },
          'inputs': [
            '<(grit_grd_file)',
            '<!@pymod_do_main(grit_info --inputs)',
          ],
          'outputs': [
            '<(grit_out_dir)/grit/tracing_resources.h',
            '<(grit_out_dir)/tracing_resources.pak',
          ],
          'action': ['<@(grit_cmd)',
                     '-i', '<(grit_grd_file)', 'build',
                     '-f', '<(DEPTH)/tools/gritsettings/resource_ids',
                     '-o', '<(grit_out_dir)',
                     '--write-only-new=<(write_only_new)',
                     '-D', 'SHARED_INTERMEDIATE_DIR=<(SHARED_INTERMEDIATE_DIR)',
                     '<@(grit_defines)',
                     '<@(grit_rc_header_format)'],
          'message': 'Generating resources from <(grit_grd_file)',
        }
      ],
      'includes': [ '../../../build/grit_target.gypi' ]
    }
  ]
}