blob: 0a641ba62325b5afb0c618f90a17c82a8a833ffa [file] [log] [blame]
{
'target_defaults': {
'variables': {
'deps': [
'libchrome-<(libbase_ver)'
],
'USE_dbus%': '1',
},
'include_dirs': [
'../libbrillo',
],
'defines': [
'USE_DBUS=<(USE_dbus)',
'USE_RTTI_FOR_TYPE_TAGS',
],
},
'targets': [
{
'target_name': 'libbrillo-<(libbase_ver)',
'type': 'none',
'dependencies': [
'libbrillo-core-<(libbase_ver)',
'libbrillo-cryptohome-<(libbase_ver)',
'libbrillo-http-<(libbase_ver)',
'libbrillo-minijail-<(libbase_ver)',
'libbrillo-streams-<(libbase_ver)',
'libpolicy-<(libbase_ver)',
],
'direct_dependent_settings': {
'include_dirs': [
'../libbrillo',
],
},
'includes': ['../common-mk/deps.gypi'],
},
{
'target_name': 'libbrillo-core-<(libbase_ver)',
'type': 'shared_library',
'variables': {
'exported_deps': [
'dbus-1',
],
'deps': ['<@(exported_deps)'],
},
'all_dependent_settings': {
'variables': {
'deps': [
'<@(exported_deps)',
],
},
},
'libraries': ['-lmodp_b64'],
#TODO(deymo): Split DBus code from libbrillo-core the same way is split in
# the Android.mk, based on the <(USE_dbus) variable.
'sources': [
'brillo/any.cc',
'brillo/asynchronous_signal_handler.cc',
'brillo/backoff_entry.cc',
'brillo/daemons/dbus_daemon.cc',
'brillo/daemons/daemon.cc',
'brillo/data_encoding.cc',
'brillo/dbus/async_event_sequencer.cc',
'brillo/dbus/data_serialization.cc',
'brillo/dbus/dbus_connection.cc',
'brillo/dbus/dbus_method_invoker.cc',
'brillo/dbus/dbus_method_response.cc',
'brillo/dbus/dbus_object.cc',
'brillo/dbus/dbus_service_watcher.cc',
'brillo/dbus/dbus_signal.cc',
'brillo/dbus/exported_object_manager.cc',
'brillo/dbus/exported_property_set.cc',
'brillo/dbus/utils.cc',
'brillo/errors/error.cc',
'brillo/errors/error_codes.cc',
'brillo/file_utils.cc',
'brillo/flag_helper.cc',
'brillo/key_value_store.cc',
'brillo/message_loops/base_message_loop.cc',
'brillo/message_loops/message_loop.cc',
'brillo/message_loops/message_loop_utils.cc',
'brillo/mime_utils.cc',
'brillo/osrelease_reader.cc',
'brillo/process.cc',
'brillo/process_reaper.cc',
'brillo/process_information.cc',
'brillo/secure_blob.cc',
'brillo/strings/string_utils.cc',
'brillo/syslog_logging.cc',
'brillo/type_name_undecorate.cc',
'brillo/url_utils.cc',
'brillo/userdb_utils.cc',
'brillo/value_conversion.cc',
],
},
{
'target_name': 'libbrillo-http-<(libbase_ver)',
'type': 'shared_library',
'dependencies': [
'libbrillo-core-<(libbase_ver)',
'libbrillo-streams-<(libbase_ver)',
],
'variables': {
'exported_deps': [
'libcurl',
],
'deps': ['<@(exported_deps)'],
},
'all_dependent_settings': {
'variables': {
'deps': [
'<@(exported_deps)',
],
},
},
'sources': [
'brillo/http/curl_api.cc',
'brillo/http/http_connection_curl.cc',
'brillo/http/http_form_data.cc',
'brillo/http/http_request.cc',
'brillo/http/http_transport.cc',
'brillo/http/http_transport_curl.cc',
'brillo/http/http_utils.cc',
],
},
{
'target_name': 'libbrillo-streams-<(libbase_ver)',
'type': 'shared_library',
'dependencies': [
'libbrillo-core-<(libbase_ver)',
],
'variables': {
'exported_deps': [
'openssl',
],
'deps': ['<@(exported_deps)'],
},
'all_dependent_settings': {
'variables': {
'deps': [
'<@(exported_deps)',
],
},
},
'sources': [
'brillo/streams/file_stream.cc',
'brillo/streams/input_stream_set.cc',
'brillo/streams/memory_containers.cc',
'brillo/streams/memory_stream.cc',
'brillo/streams/openssl_stream_bio.cc',
'brillo/streams/stream.cc',
'brillo/streams/stream_errors.cc',
'brillo/streams/stream_utils.cc',
'brillo/streams/tls_stream.cc',
],
},
{
'target_name': 'libbrillo-test-<(libbase_ver)',
'type': 'static_library',
'standalone_static_library': 1,
'dependencies': [
'libbrillo-http-<(libbase_ver)',
],
'sources': [
'brillo/http/http_connection_fake.cc',
'brillo/http/http_transport_fake.cc',
'brillo/message_loops/fake_message_loop.cc',
'brillo/streams/fake_stream.cc',
'brillo/unittest_utils.cc',
],
'includes': ['../common-mk/deps.gypi'],
},
{
'target_name': 'libbrillo-cryptohome-<(libbase_ver)',
'type': 'shared_library',
'variables': {
'exported_deps': [
'openssl',
],
'deps': ['<@(exported_deps)'],
},
'all_dependent_settings': {
'variables': {
'deps': [
'<@(exported_deps)',
],
},
},
'sources': [
'brillo/cryptohome.cc',
],
},
{
'target_name': 'libbrillo-minijail-<(libbase_ver)',
'type': 'shared_library',
'variables': {
'exported_deps': [
'libminijail',
],
'deps': ['<@(exported_deps)'],
},
'all_dependent_settings': {
'variables': {
'deps': [
'<@(exported_deps)',
],
},
},
'cflags': [
'-fvisibility=default',
],
'sources': [
'brillo/minijail/minijail.cc',
],
},
{
'target_name': 'libpolicy-<(libbase_ver)',
'type': 'shared_library',
'dependencies': [
'libpolicy-includes',
'../common-mk/external_dependencies.gyp:policy-protos',
],
'variables': {
'exported_deps': [
'openssl',
'protobuf-lite',
],
'deps': ['<@(exported_deps)'],
},
'all_dependent_settings': {
'variables': {
'deps': [
'<@(exported_deps)',
],
},
},
'ldflags': [
'-Wl,--version-script,<(platform2_root)/libbrillo/libpolicy.ver',
],
'sources': [
'policy/device_policy.cc',
'policy/device_policy_impl.cc',
'policy/libpolicy.cc',
],
},
{
'target_name': 'libbrillo-glib-<(libbase_ver)',
'type': 'shared_library',
'dependencies': [
'libbrillo-<(libbase_ver)',
],
'variables': {
'exported_deps': [
'dbus-1',
'dbus-glib-1',
'glib-2.0',
'gobject-2.0',
],
'deps': ['<@(exported_deps)'],
},
'cflags': [
# glib uses the deprecated "register" attribute in some header files.
'-Wno-deprecated-register',
],
'all_dependent_settings': {
'variables': {
'deps': [
'<@(exported_deps)',
],
},
},
'sources': [
'brillo/glib/abstract_dbus_service.cc',
'brillo/glib/dbus.cc',
'brillo/message_loops/glib_message_loop.cc',
],
'includes': ['../common-mk/deps.gypi'],
},
],
'conditions': [
['USE_test == 1', {
'targets': [
{
'target_name': 'libbrillo-<(libbase_ver)_unittests',
'type': 'executable',
'dependencies': [
'libbrillo-<(libbase_ver)',
'libbrillo-test-<(libbase_ver)',
'libbrillo-glib-<(libbase_ver)',
],
'variables': {
'deps': [
'libchrome-test-<(libbase_ver)',
],
'proto_in_dir': 'brillo/dbus',
'proto_out_dir': 'include/brillo/dbus',
},
'includes': [
'../common-mk/common_test.gypi',
'../common-mk/protoc.gypi',
],
'cflags': [
'-Wno-format-zero-length',
],
'conditions': [
['debug == 1', {
'cflags': [
'-fprofile-arcs',
'-ftest-coverage',
'-fno-inline',
],
'libraries': [
'-lgcov',
],
}],
],
'sources': [
'brillo/any_unittest.cc',
'brillo/any_internal_impl_unittest.cc',
'brillo/asynchronous_signal_handler_unittest.cc',
'brillo/backoff_entry_unittest.cc',
'brillo/data_encoding_unittest.cc',
'brillo/dbus/async_event_sequencer_unittest.cc',
'brillo/dbus/data_serialization_unittest.cc',
'brillo/dbus/dbus_method_invoker_unittest.cc',
'brillo/dbus/dbus_object_unittest.cc',
'brillo/dbus/dbus_param_reader_unittest.cc',
'brillo/dbus/dbus_param_writer_unittest.cc',
'brillo/dbus/dbus_signal_handler_unittest.cc',
'brillo/dbus/exported_object_manager_unittest.cc',
'brillo/dbus/exported_property_set_unittest.cc',
'brillo/errors/error_codes_unittest.cc',
'brillo/errors/error_unittest.cc',
'brillo/file_utils_unittest.cc',
'brillo/flag_helper_unittest.cc',
'brillo/glib/object_unittest.cc',
'brillo/http/http_connection_curl_unittest.cc',
'brillo/http/http_form_data_unittest.cc',
'brillo/http/http_request_unittest.cc',
'brillo/http/http_transport_curl_unittest.cc',
'brillo/http/http_utils_unittest.cc',
'brillo/key_value_store_unittest.cc',
'brillo/map_utils_unittest.cc',
'brillo/message_loops/base_message_loop_unittest.cc',
'brillo/message_loops/fake_message_loop_unittest.cc',
'brillo/message_loops/glib_message_loop_unittest.cc',
'brillo/message_loops/message_loop_unittest.cc',
'brillo/mime_utils_unittest.cc',
'brillo/osrelease_reader_unittest.cc',
'brillo/process_reaper_unittest.cc',
'brillo/process_unittest.cc',
'brillo/secure_blob_unittest.cc',
'brillo/streams/fake_stream_unittest.cc',
'brillo/streams/file_stream_unittest.cc',
'brillo/streams/input_stream_set_unittest.cc',
'brillo/streams/memory_containers_unittest.cc',
'brillo/streams/memory_stream_unittest.cc',
'brillo/streams/openssl_stream_bio_unittests.cc',
'brillo/streams/stream_unittest.cc',
'brillo/streams/stream_utils_unittest.cc',
'brillo/strings/string_utils_unittest.cc',
'brillo/type_name_undecorate_unittest.cc',
'brillo/unittest_utils.cc',
'brillo/url_utils_unittest.cc',
'brillo/variant_dictionary_unittest.cc',
'brillo/value_conversion_unittest.cc',
'testrunner.cc',
'<(proto_in_dir)/test.proto',
]
},
{
'target_name': 'libpolicy-<(libbase_ver)_unittests',
'type': 'executable',
'dependencies': ['libpolicy-<(libbase_ver)'],
'includes': ['../common-mk/common_test.gypi'],
'sources': [
'policy/tests/libpolicy_unittest.cc',
]
},
],
}],
],
}