• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  'target_defaults': {
3    'variables': {
4      'deps': [
5        'libchrome-<(libbase_ver)'
6      ],
7    },
8    'include_dirs': [
9      '../libbrillo',
10    ],
11    'defines': [
12      'USE_DBUS=<(USE_dbus)',
13      'USE_RTTI_FOR_TYPE_TAGS',
14    ],
15  },
16  'targets': [
17    {
18      'target_name': 'libbrillo-<(libbase_ver)',
19      'type': 'none',
20      'dependencies': [
21        'libbrillo-core-<(libbase_ver)',
22        'libbrillo-cryptohome-<(libbase_ver)',
23        'libbrillo-http-<(libbase_ver)',
24        'libbrillo-minijail-<(libbase_ver)',
25        'libbrillo-streams-<(libbase_ver)',
26        'libinstallattributes-<(libbase_ver)',
27        'libpolicy-<(libbase_ver)',
28      ],
29      'direct_dependent_settings': {
30        'include_dirs': [
31          '../libbrillo',
32        ],
33      },
34      'includes': ['../common-mk/deps.gypi'],
35    },
36    {
37      'target_name': 'libbrillo-core-<(libbase_ver)',
38      'type': 'shared_library',
39      'variables': {
40        'exported_deps': [
41        ],
42        'conditions': [
43          ['USE_dbus == 1', {
44            'exported_deps': [
45              'dbus-1',
46            ],
47          }],
48        ],
49        'deps': ['<@(exported_deps)'],
50      },
51      'all_dependent_settings': {
52        'variables': {
53          'deps': [
54            '<@(exported_deps)',
55          ],
56        },
57      },
58      'libraries': ['-lmodp_b64'],
59      'sources': [
60        'brillo/asynchronous_signal_handler.cc',
61        'brillo/backoff_entry.cc',
62        'brillo/daemons/daemon.cc',
63        'brillo/data_encoding.cc',
64        'brillo/errors/error.cc',
65        'brillo/errors/error_codes.cc',
66        'brillo/file_utils.cc',
67        'brillo/flag_helper.cc',
68        'brillo/imageloader/manifest.cc',
69        'brillo/key_value_store.cc',
70        'brillo/message_loops/base_message_loop.cc',
71        'brillo/message_loops/message_loop.cc',
72        'brillo/message_loops/message_loop_utils.cc',
73        'brillo/mime_utils.cc',
74        'brillo/osrelease_reader.cc',
75        'brillo/process.cc',
76        'brillo/process_reaper.cc',
77        'brillo/process_information.cc',
78        'brillo/secure_blob.cc',
79        'brillo/strings/string_utils.cc',
80        'brillo/syslog_logging.cc',
81        'brillo/type_name_undecorate.cc',
82        'brillo/url_utils.cc',
83        'brillo/userdb_utils.cc',
84        'brillo/value_conversion.cc',
85      ],
86      'conditions': [
87        ['USE_dbus == 1', {
88          'sources': [
89            'brillo/any.cc',
90            'brillo/daemons/dbus_daemon.cc',
91            'brillo/dbus/async_event_sequencer.cc',
92            'brillo/dbus/data_serialization.cc',
93            'brillo/dbus/dbus_connection.cc',
94            'brillo/dbus/dbus_method_invoker.cc',
95            'brillo/dbus/dbus_method_response.cc',
96            'brillo/dbus/dbus_object.cc',
97            'brillo/dbus/dbus_service_watcher.cc',
98            'brillo/dbus/dbus_signal.cc',
99            'brillo/dbus/exported_object_manager.cc',
100            'brillo/dbus/exported_property_set.cc',
101            'brillo/dbus/utils.cc',
102          ],
103        }],
104      ],
105    },
106    {
107      'target_name': 'libbrillo-http-<(libbase_ver)',
108      'type': 'shared_library',
109      'dependencies': [
110        'libbrillo-core-<(libbase_ver)',
111        'libbrillo-streams-<(libbase_ver)',
112      ],
113      'variables': {
114        'exported_deps': [
115          'libcurl',
116        ],
117        'deps': ['<@(exported_deps)'],
118      },
119      'all_dependent_settings': {
120        'variables': {
121          'deps': [
122            '<@(exported_deps)',
123          ],
124        },
125      },
126      'sources': [
127        'brillo/http/curl_api.cc',
128        'brillo/http/http_connection_curl.cc',
129        'brillo/http/http_form_data.cc',
130        'brillo/http/http_request.cc',
131        'brillo/http/http_transport.cc',
132        'brillo/http/http_transport_curl.cc',
133        'brillo/http/http_utils.cc',
134      ],
135      'conditions': [
136        ['USE_dbus == 1', {
137          'sources': [
138            'brillo/http/http_proxy.cc',
139          ],
140        }],
141      ],
142    },
143    {
144      'target_name': 'libbrillo-streams-<(libbase_ver)',
145      'type': 'shared_library',
146      'dependencies': [
147        'libbrillo-core-<(libbase_ver)',
148      ],
149      'variables': {
150        'exported_deps': [
151          'openssl',
152        ],
153        'deps': ['<@(exported_deps)'],
154      },
155      'all_dependent_settings': {
156        'variables': {
157          'deps': [
158            '<@(exported_deps)',
159          ],
160        },
161      },
162      'sources': [
163        'brillo/streams/file_stream.cc',
164        'brillo/streams/input_stream_set.cc',
165        'brillo/streams/memory_containers.cc',
166        'brillo/streams/memory_stream.cc',
167        'brillo/streams/openssl_stream_bio.cc',
168        'brillo/streams/stream.cc',
169        'brillo/streams/stream_errors.cc',
170        'brillo/streams/stream_utils.cc',
171        'brillo/streams/tls_stream.cc',
172      ],
173    },
174    {
175      'target_name': 'libbrillo-test-<(libbase_ver)',
176      'type': 'static_library',
177      'standalone_static_library': 1,
178      'dependencies': [
179        'libbrillo-http-<(libbase_ver)',
180      ],
181      'sources': [
182        'brillo/http/http_connection_fake.cc',
183        'brillo/http/http_transport_fake.cc',
184        'brillo/message_loops/fake_message_loop.cc',
185        'brillo/streams/fake_stream.cc',
186        'brillo/unittest_utils.cc',
187      ],
188      'includes': ['../common-mk/deps.gypi'],
189    },
190    {
191      'target_name': 'libbrillo-cryptohome-<(libbase_ver)',
192      'type': 'shared_library',
193      'variables': {
194        'exported_deps': [
195          'openssl',
196        ],
197        'deps': ['<@(exported_deps)'],
198      },
199      'all_dependent_settings': {
200        'variables': {
201          'deps': [
202            '<@(exported_deps)',
203          ],
204        },
205      },
206      'sources': [
207        'brillo/cryptohome.cc',
208      ],
209    },
210    {
211      'target_name': 'libbrillo-minijail-<(libbase_ver)',
212      'type': 'shared_library',
213      'variables': {
214        'exported_deps': [
215          'libminijail',
216        ],
217        'deps': ['<@(exported_deps)'],
218      },
219      'all_dependent_settings': {
220        'variables': {
221          'deps': [
222            '<@(exported_deps)',
223          ],
224        },
225      },
226      'cflags': [
227        '-fvisibility=default',
228      ],
229      'sources': [
230        'brillo/minijail/minijail.cc',
231      ],
232    },
233    {
234      'target_name': 'libinstallattributes-<(libbase_ver)',
235      'type': 'shared_library',
236      'dependencies': [
237        'libinstallattributes-includes',
238        '../common-mk/external_dependencies.gyp:install_attributes-proto',
239      ],
240      'variables': {
241        'exported_deps': [
242          'protobuf-lite',
243        ],
244        'deps': ['<@(exported_deps)'],
245      },
246      'all_dependent_settings': {
247        'variables': {
248          'deps': [
249            '<@(exported_deps)',
250          ],
251        },
252      },
253      'sources': [
254        'install_attributes/libinstallattributes.cc',
255      ],
256    },
257    {
258      'target_name': 'libpolicy-<(libbase_ver)',
259      'type': 'shared_library',
260      'dependencies': [
261        'libinstallattributes-<(libbase_ver)',
262        'libpolicy-includes',
263        '../common-mk/external_dependencies.gyp:policy-protos',
264      ],
265      'variables': {
266        'exported_deps': [
267          'openssl',
268          'protobuf-lite',
269        ],
270        'deps': ['<@(exported_deps)'],
271      },
272      'all_dependent_settings': {
273        'variables': {
274          'deps': [
275            '<@(exported_deps)',
276          ],
277        },
278      },
279      'ldflags': [
280        '-Wl,--version-script,<(platform2_root)/libbrillo/libpolicy.ver',
281      ],
282      'sources': [
283        'policy/device_policy.cc',
284        'policy/device_policy_impl.cc',
285        'policy/policy_util.cc',
286        'policy/resilient_policy_util.cc',
287        'policy/libpolicy.cc',
288      ],
289    },
290    {
291      'target_name': 'libbrillo-glib-<(libbase_ver)',
292      'type': 'shared_library',
293      'dependencies': [
294        'libbrillo-<(libbase_ver)',
295      ],
296      'variables': {
297        'exported_deps': [
298          'glib-2.0',
299          'gobject-2.0',
300        ],
301        'conditions': [
302          ['USE_dbus == 1', {
303            'exported_deps': [
304              'dbus-1',
305              'dbus-glib-1',
306            ],
307          }],
308        ],
309        'deps': ['<@(exported_deps)'],
310      },
311      'cflags': [
312        # glib uses the deprecated "register" attribute in some header files.
313        '-Wno-deprecated-register',
314      ],
315      'all_dependent_settings': {
316        'variables': {
317          'deps': [
318            '<@(exported_deps)',
319          ],
320        },
321      },
322      'includes': ['../common-mk/deps.gypi'],
323      'conditions': [
324        ['USE_dbus == 1', {
325          'sources': [
326            'brillo/glib/abstract_dbus_service.cc',
327            'brillo/glib/dbus.cc',
328          ],
329        }],
330      ],
331    },
332  ],
333  'conditions': [
334    ['USE_test == 1', {
335      'targets': [
336        {
337          'target_name': 'libbrillo-<(libbase_ver)_unittests',
338          'type': 'executable',
339          'dependencies': [
340            'libbrillo-<(libbase_ver)',
341            'libbrillo-glib-<(libbase_ver)',
342            'libbrillo-test-<(libbase_ver)',
343          ],
344          'variables': {
345            'deps': [
346              'libchrome-test-<(libbase_ver)',
347            ],
348            'proto_in_dir': 'brillo/dbus',
349            'proto_out_dir': 'include/brillo/dbus',
350          },
351          'includes': [
352            '../common-mk/common_test.gypi',
353            '../common-mk/protoc.gypi',
354          ],
355          'cflags': [
356            '-Wno-format-zero-length',
357          ],
358          'conditions': [
359            ['debug == 1', {
360              'cflags': [
361                '-fprofile-arcs',
362                '-ftest-coverage',
363                '-fno-inline',
364              ],
365              'libraries': [
366                '-lgcov',
367              ],
368            }],
369          ],
370          'sources': [
371            'brillo/asynchronous_signal_handler_unittest.cc',
372            'brillo/backoff_entry_unittest.cc',
373            'brillo/data_encoding_unittest.cc',
374            'brillo/enum_flags_unittest.cc',
375            'brillo/errors/error_codes_unittest.cc',
376            'brillo/errors/error_unittest.cc',
377            'brillo/file_utils_unittest.cc',
378            'brillo/flag_helper_unittest.cc',
379            'brillo/glib/object_unittest.cc',
380            'brillo/http/http_connection_curl_unittest.cc',
381            'brillo/http/http_form_data_unittest.cc',
382            'brillo/http/http_request_unittest.cc',
383            'brillo/http/http_transport_curl_unittest.cc',
384            'brillo/http/http_utils_unittest.cc',
385            'brillo/imageloader/manifest_unittest.cc',
386            'brillo/key_value_store_unittest.cc',
387            'brillo/map_utils_unittest.cc',
388            'brillo/message_loops/base_message_loop_unittest.cc',
389            'brillo/message_loops/fake_message_loop_unittest.cc',
390            'brillo/message_loops/message_loop_unittest.cc',
391            'brillo/mime_utils_unittest.cc',
392            'brillo/osrelease_reader_unittest.cc',
393            'brillo/process_reaper_unittest.cc',
394            'brillo/process_unittest.cc',
395            'brillo/secure_blob_unittest.cc',
396            'brillo/streams/fake_stream_unittest.cc',
397            'brillo/streams/file_stream_unittest.cc',
398            'brillo/streams/input_stream_set_unittest.cc',
399            'brillo/streams/memory_containers_unittest.cc',
400            'brillo/streams/memory_stream_unittest.cc',
401            'brillo/streams/openssl_stream_bio_unittests.cc',
402            'brillo/streams/stream_unittest.cc',
403            'brillo/streams/stream_utils_unittest.cc',
404            'brillo/strings/string_utils_unittest.cc',
405            'brillo/unittest_utils.cc',
406            'brillo/url_utils_unittest.cc',
407            'brillo/value_conversion_unittest.cc',
408            'testrunner.cc',
409          ],
410          'conditions': [
411            ['USE_dbus == 1', {
412              'sources': [
413                'brillo/any_unittest.cc',
414                'brillo/any_internal_impl_unittest.cc',
415                'brillo/dbus/async_event_sequencer_unittest.cc',
416                'brillo/dbus/data_serialization_unittest.cc',
417                'brillo/dbus/dbus_method_invoker_unittest.cc',
418                'brillo/dbus/dbus_object_unittest.cc',
419                'brillo/dbus/dbus_param_reader_unittest.cc',
420                'brillo/dbus/dbus_param_writer_unittest.cc',
421                'brillo/dbus/dbus_signal_handler_unittest.cc',
422                'brillo/dbus/exported_object_manager_unittest.cc',
423                'brillo/dbus/exported_property_set_unittest.cc',
424                'brillo/http/http_proxy_unittest.cc',
425                'brillo/type_name_undecorate_unittest.cc',
426                'brillo/variant_dictionary_unittest.cc',
427                '<(proto_in_dir)/test.proto',
428              ],
429            }],
430          ],
431        },
432        {
433          'target_name': 'libinstallattributes-<(libbase_ver)_unittests',
434          'type': 'executable',
435          'dependencies': [
436            '../common-mk/external_dependencies.gyp:install_attributes-proto',
437            'libinstallattributes-<(libbase_ver)',
438          ],
439          'includes': ['../common-mk/common_test.gypi'],
440          'sources': [
441            'install_attributes/tests/libinstallattributes_unittest.cc',
442          ]
443        },
444        {
445          'target_name': 'libpolicy-<(libbase_ver)_unittests',
446          'type': 'executable',
447          'dependencies': [
448            '../common-mk/external_dependencies.gyp:install_attributes-proto',
449            '../common-mk/external_dependencies.gyp:policy-protos',
450            'libinstallattributes-<(libbase_ver)',
451            'libpolicy-<(libbase_ver)',
452          ],
453          'includes': ['../common-mk/common_test.gypi'],
454          'sources': [
455            'install_attributes/mock_install_attributes_reader.cc',
456            'policy/tests/device_policy_impl_unittest.cc',
457            'policy/tests/libpolicy_unittest.cc',
458            'policy/tests/policy_util_unittest.cc',
459            'policy/tests/resilient_policy_util_unittest.cc',
460          ]
461        },
462      ],
463    }],
464  ],
465}
466