• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  'targets': [
7    {
8      'target_name': 'protobuf_lite',
9      'type': 'none',
10      'direct_dependent_settings': {
11        'cflags': [
12          # Use full protobuf, because vanilla protobuf doesn't have
13          # our custom patch to retain unknown fields in lite mode.
14          '<!@(pkg-config --cflags protobuf)',
15        ],
16        'defines': [
17          'USE_SYSTEM_PROTOBUF',
18
19          # This macro must be defined to suppress the use
20          # of dynamic_cast<>, which requires RTTI.
21          'GOOGLE_PROTOBUF_NO_RTTI',
22          'GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER',
23        ],
24      },
25      'link_settings': {
26        # Use full protobuf, because vanilla protobuf doesn't have
27        # our custom patch to retain unknown fields in lite mode.
28        'ldflags': [
29          '<!@(pkg-config --libs-only-L --libs-only-other protobuf)',
30        ],
31        'libraries': [
32          '<!@(pkg-config --libs-only-l protobuf)',
33        ],
34      },
35      'variables': {
36        'headers_root_path': 'src',
37        'header_filenames': [
38          # This list can easily be updated using the command below:
39          # find third_party/protobuf/src -iname '*.h' -printf "'%p',\n" | \
40          # sed -e 's|third_party/protobuf/src/||' | sort -u
41          'google/protobuf/compiler/code_generator.h',
42          'google/protobuf/compiler/command_line_interface.h',
43          'google/protobuf/compiler/cpp/cpp_enum_field.h',
44          'google/protobuf/compiler/cpp/cpp_enum.h',
45          'google/protobuf/compiler/cpp/cpp_extension.h',
46          'google/protobuf/compiler/cpp/cpp_field.h',
47          'google/protobuf/compiler/cpp/cpp_file.h',
48          'google/protobuf/compiler/cpp/cpp_generator.h',
49          'google/protobuf/compiler/cpp/cpp_helpers.h',
50          'google/protobuf/compiler/cpp/cpp_message_field.h',
51          'google/protobuf/compiler/cpp/cpp_message.h',
52          'google/protobuf/compiler/cpp/cpp_options.h',
53          'google/protobuf/compiler/cpp/cpp_primitive_field.h',
54          'google/protobuf/compiler/cpp/cpp_service.h',
55          'google/protobuf/compiler/cpp/cpp_string_field.h',
56          'google/protobuf/compiler/cpp/cpp_unittest.h',
57          'google/protobuf/compiler/importer.h',
58          'google/protobuf/compiler/java/java_doc_comment.h',
59          'google/protobuf/compiler/java/java_enum_field.h',
60          'google/protobuf/compiler/java/java_enum.h',
61          'google/protobuf/compiler/java/java_extension.h',
62          'google/protobuf/compiler/java/java_field.h',
63          'google/protobuf/compiler/java/java_file.h',
64          'google/protobuf/compiler/java/java_generator.h',
65          'google/protobuf/compiler/java/java_helpers.h',
66          'google/protobuf/compiler/java/java_message_field.h',
67          'google/protobuf/compiler/java/java_message.h',
68          'google/protobuf/compiler/java/java_primitive_field.h',
69          'google/protobuf/compiler/java/java_service.h',
70          'google/protobuf/compiler/java/java_string_field.h',
71          'google/protobuf/compiler/mock_code_generator.h',
72          'google/protobuf/compiler/package_info.h',
73          'google/protobuf/compiler/parser.h',
74          'google/protobuf/compiler/plugin.h',
75          'google/protobuf/compiler/plugin.pb.h',
76          'google/protobuf/compiler/python/python_generator.h',
77          'google/protobuf/compiler/subprocess.h',
78          'google/protobuf/compiler/zip_writer.h',
79          'google/protobuf/descriptor_database.h',
80          'google/protobuf/descriptor.h',
81          'google/protobuf/descriptor.pb.h',
82          'google/protobuf/dynamic_message.h',
83          'google/protobuf/extension_set.h',
84          'google/protobuf/generated_enum_reflection.h',
85          'google/protobuf/generated_message_reflection.h',
86          'google/protobuf/generated_message_util.h',
87          'google/protobuf/io/coded_stream.h',
88          'google/protobuf/io/coded_stream_inl.h',
89          'google/protobuf/io/gzip_stream.h',
90          'google/protobuf/io/package_info.h',
91          'google/protobuf/io/printer.h',
92          'google/protobuf/io/tokenizer.h',
93          'google/protobuf/io/zero_copy_stream.h',
94          'google/protobuf/io/zero_copy_stream_impl.h',
95          'google/protobuf/io/zero_copy_stream_impl_lite.h',
96          'google/protobuf/message.h',
97          'google/protobuf/message_lite.h',
98          'google/protobuf/package_info.h',
99          'google/protobuf/reflection_ops.h',
100          'google/protobuf/repeated_field.h',
101          'google/protobuf/service.h',
102          'google/protobuf/stubs/atomicops.h',
103          'google/protobuf/stubs/atomicops_internals_arm64_gcc.h',
104          'google/protobuf/stubs/atomicops_internals_arm_gcc.h',
105          'google/protobuf/stubs/atomicops_internals_arm_qnx.h',
106          'google/protobuf/stubs/atomicops_internals_atomicword_compat.h',
107          'google/protobuf/stubs/atomicops_internals_macosx.h',
108          'google/protobuf/stubs/atomicops_internals_mips_gcc.h',
109          'google/protobuf/stubs/atomicops_internals_pnacl.h',
110          'google/protobuf/stubs/atomicops_internals_tsan.h',
111          'google/protobuf/stubs/atomicops_internals_x86_gcc.h',
112          'google/protobuf/stubs/atomicops_internals_x86_msvc.h',
113          'google/protobuf/stubs/common.h',
114          'google/protobuf/stubs/hash.h',
115          'google/protobuf/stubs/map-util.h',
116          'google/protobuf/stubs/once.h',
117          'google/protobuf/stubs/platform_macros.h',
118          'google/protobuf/stubs/stl_util.h',
119          'google/protobuf/stubs/stringprintf.h',
120          'google/protobuf/stubs/strutil.h',
121          'google/protobuf/stubs/substitute.h',
122          'google/protobuf/stubs/template_util.h',
123          'google/protobuf/stubs/type_traits.h',
124          'google/protobuf/testing/file.h',
125          'google/protobuf/testing/googletest.h',
126          'google/protobuf/test_util.h',
127          'google/protobuf/test_util_lite.h',
128          'google/protobuf/text_format.h',
129          'google/protobuf/unknown_field_set.h',
130          'google/protobuf/wire_format.h',
131          'google/protobuf/wire_format_lite.h',
132          'google/protobuf/wire_format_lite_inl.h',
133        ],
134      },
135      'includes': [
136        '../../build/shim_headers.gypi',
137      ],
138    },
139    {
140      'target_name': 'protoc',
141      'type': 'none',
142      'toolsets': ['host', 'target'],
143    },
144    {
145      'target_name': 'py_proto',
146      'type': 'none',
147    },
148  ],
149}
150