Home | History | Annotate | Download | only in libbrillo
      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