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