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         'brillo/unittest_utils.cc',
    169       ],
    170       'includes': ['../common-mk/deps.gypi'],
    171     },
    172     {
    173       'target_name': 'libbrillo-cryptohome-<(libbase_ver)',
    174       'type': 'shared_library',
    175       'variables': {
    176         'exported_deps': [
    177           'openssl',
    178         ],
    179         'deps': ['<@(exported_deps)'],
    180       },
    181       'all_dependent_settings': {
    182         'variables': {
    183           'deps': [
    184             '<@(exported_deps)',
    185           ],
    186         },
    187       },
    188       'sources': [
    189         'brillo/cryptohome.cc',
    190       ],
    191     },
    192     {
    193       'target_name': 'libbrillo-minijail-<(libbase_ver)',
    194       'type': 'shared_library',
    195       'variables': {
    196         'exported_deps': [
    197           'libminijail',
    198         ],
    199         'deps': ['<@(exported_deps)'],
    200       },
    201       'all_dependent_settings': {
    202         'variables': {
    203           'deps': [
    204             '<@(exported_deps)',
    205           ],
    206         },
    207       },
    208       'cflags': [
    209         '-fvisibility=default',
    210       ],
    211       'sources': [
    212         'brillo/minijail/minijail.cc',
    213       ],
    214     },
    215     {
    216       'target_name': 'libpolicy-<(libbase_ver)',
    217       'type': 'shared_library',
    218       'dependencies': [
    219         'libpolicy-includes',
    220         '../common-mk/external_dependencies.gyp:policy-protos',
    221       ],
    222       'variables': {
    223         'exported_deps': [
    224           'openssl',
    225           'protobuf-lite',
    226         ],
    227         'deps': ['<@(exported_deps)'],
    228       },
    229       'all_dependent_settings': {
    230         'variables': {
    231           'deps': [
    232             '<@(exported_deps)',
    233           ],
    234         },
    235       },
    236       'ldflags': [
    237         '-Wl,--version-script,<(platform2_root)/libbrillo/libpolicy.ver',
    238       ],
    239       'sources': [
    240         'policy/device_policy.cc',
    241         'policy/device_policy_impl.cc',
    242         'policy/libpolicy.cc',
    243       ],
    244     },
    245     {
    246       'target_name': 'libbrillo-glib-<(libbase_ver)',
    247       'type': 'shared_library',
    248       'dependencies': [
    249           'libbrillo-<(libbase_ver)',
    250       ],
    251       'variables': {
    252         'exported_deps': [
    253           'dbus-1',
    254           'dbus-glib-1',
    255           'glib-2.0',
    256           'gobject-2.0',
    257         ],
    258         'deps': ['<@(exported_deps)'],
    259       },
    260       'cflags': [
    261         # glib uses the deprecated "register" attribute in some header files.
    262         '-Wno-deprecated-register',
    263       ],
    264       'all_dependent_settings': {
    265         'variables': {
    266           'deps': [
    267             '<@(exported_deps)',
    268           ],
    269         },
    270       },
    271       'sources': [
    272         'brillo/glib/abstract_dbus_service.cc',
    273         'brillo/glib/dbus.cc',
    274         'brillo/message_loops/glib_message_loop.cc',
    275       ],
    276       'includes': ['../common-mk/deps.gypi'],
    277     },
    278   ],
    279   'conditions': [
    280     ['USE_test == 1', {
    281       'targets': [
    282         {
    283           'target_name': 'libbrillo-<(libbase_ver)_unittests',
    284           'type': 'executable',
    285           'dependencies': [
    286             'libbrillo-<(libbase_ver)',
    287             'libbrillo-test-<(libbase_ver)',
    288             'libbrillo-glib-<(libbase_ver)',
    289           ],
    290           'variables': {
    291             'deps': [
    292               'libchrome-test-<(libbase_ver)',
    293             ],
    294             'proto_in_dir': 'brillo/dbus',
    295             'proto_out_dir': 'include/brillo/dbus',
    296           },
    297           'includes': [
    298             '../common-mk/common_test.gypi',
    299             '../common-mk/protoc.gypi',
    300           ],
    301           'cflags': [
    302             '-Wno-format-zero-length',
    303           ],
    304           'conditions': [
    305             ['debug == 1', {
    306               'cflags': [
    307                 '-fprofile-arcs',
    308                 '-ftest-coverage',
    309                 '-fno-inline',
    310               ],
    311               'libraries': [
    312                 '-lgcov',
    313               ],
    314             }],
    315           ],
    316           'sources': [
    317             'brillo/any_unittest.cc',
    318             'brillo/any_internal_impl_unittest.cc',
    319             'brillo/asynchronous_signal_handler_unittest.cc',
    320             'brillo/backoff_entry_unittest.cc',
    321             'brillo/data_encoding_unittest.cc',
    322             'brillo/dbus/async_event_sequencer_unittest.cc',
    323             'brillo/dbus/data_serialization_unittest.cc',
    324             'brillo/dbus/dbus_method_invoker_unittest.cc',
    325             'brillo/dbus/dbus_object_unittest.cc',
    326             'brillo/dbus/dbus_param_reader_unittest.cc',
    327             'brillo/dbus/dbus_param_writer_unittest.cc',
    328             'brillo/dbus/dbus_signal_handler_unittest.cc',
    329             'brillo/dbus/exported_object_manager_unittest.cc',
    330             'brillo/dbus/exported_property_set_unittest.cc',
    331             'brillo/errors/error_codes_unittest.cc',
    332             'brillo/errors/error_unittest.cc',
    333             'brillo/file_utils_unittest.cc',
    334             'brillo/flag_helper_unittest.cc',
    335             'brillo/glib/object_unittest.cc',
    336             'brillo/http/http_connection_curl_unittest.cc',
    337             'brillo/http/http_form_data_unittest.cc',
    338             'brillo/http/http_request_unittest.cc',
    339             'brillo/http/http_transport_curl_unittest.cc',
    340             'brillo/http/http_utils_unittest.cc',
    341             'brillo/key_value_store_unittest.cc',
    342             'brillo/map_utils_unittest.cc',
    343             'brillo/message_loops/base_message_loop_unittest.cc',
    344             'brillo/message_loops/fake_message_loop_unittest.cc',
    345             'brillo/message_loops/glib_message_loop_unittest.cc',
    346             'brillo/message_loops/message_loop_unittest.cc',
    347             'brillo/mime_utils_unittest.cc',
    348             'brillo/osrelease_reader_unittest.cc',
    349             'brillo/process_reaper_unittest.cc',
    350             'brillo/process_unittest.cc',
    351             'brillo/secure_blob_unittest.cc',
    352             'brillo/streams/fake_stream_unittest.cc',
    353             'brillo/streams/file_stream_unittest.cc',
    354             'brillo/streams/input_stream_set_unittest.cc',
    355             'brillo/streams/memory_containers_unittest.cc',
    356             'brillo/streams/memory_stream_unittest.cc',
    357             'brillo/streams/openssl_stream_bio_unittests.cc',
    358             'brillo/streams/stream_unittest.cc',
    359             'brillo/streams/stream_utils_unittest.cc',
    360             'brillo/strings/string_utils_unittest.cc',
    361             'brillo/type_name_undecorate_unittest.cc',
    362             'brillo/unittest_utils.cc',
    363             'brillo/url_utils_unittest.cc',
    364             'brillo/variant_dictionary_unittest.cc',
    365             'brillo/value_conversion_unittest.cc',
    366             'testrunner.cc',
    367             '<(proto_in_dir)/test.proto',
    368           ]
    369         },
    370         {
    371           'target_name': 'libpolicy-<(libbase_ver)_unittests',
    372           'type': 'executable',
    373           'dependencies': ['libpolicy-<(libbase_ver)'],
    374           'includes': ['../common-mk/common_test.gypi'],
    375           'sources': [
    376             'policy/tests/libpolicy_unittest.cc',
    377           ]
    378         },
    379       ],
    380     }],
    381   ],
    382 }
    383