libweave: Add build of share library with light version of base lib
This build type has own test runner with some base unittests.
BUG=brillo:1256
TEST=`FEATURES=test emerge-gizmo libweave buffet`
Change-Id: I1f15942b59dce85f47fbf6a04f5ed568d91def2b
Reviewed-on: https://chromium-review.googlesource.com/294174
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/libweave/libweave.gyp b/libweave/libweave.gyp
index d5f48b2..e17ac6a 100644
--- a/libweave/libweave.gyp
+++ b/libweave/libweave.gyp
@@ -1,107 +1,111 @@
{
+ 'includes': [
+ 'libweave.gypi',
+ ],
'target_defaults': {
'variables': {
'deps': [
'expat',
- 'libchrome-<(libbase_ver)',
'libcrypto',
],
},
'include_dirs': [
'.',
'../libweave/include',
+ '../libweave/third_party/modp_b64/modp_b64/',
],
},
'targets': [
{
- 'target_name': 'libweave_external',
- 'type': 'static_library',
- 'include_dirs': [
- '../libweave/third_party/modp_b64/modp_b64/',
- ],
- 'sources': [
- 'external/crypto/p224.cc',
- 'external/crypto/p224_spake.cc',
- 'external/crypto/sha2.cc',
- 'third_party/modp_b64/modp_b64.cc',
- ],
- },
- {
'target_name': 'libweave_common',
'type': 'static_library',
'cflags!': ['-fPIE'],
'cflags': ['-fPIC'],
+ 'variables': {
+ 'deps': [
+ 'libchrome-<(libbase_ver)',
+ ],
+ },
'sources': [
- 'src/backoff_entry.cc',
- 'src/base_api_handler.cc',
- 'src/commands/cloud_command_proxy.cc',
- 'src/commands/command_definition.cc',
- 'src/commands/command_dictionary.cc',
- 'src/commands/command_instance.cc',
- 'src/commands/command_manager.cc',
- 'src/commands/command_queue.cc',
- 'src/commands/object_schema.cc',
- 'src/commands/prop_constraints.cc',
- 'src/commands/prop_types.cc',
- 'src/commands/prop_values.cc',
- 'src/commands/schema_constants.cc',
- 'src/commands/schema_utils.cc',
- 'src/commands/user_role.cc',
- 'src/config.cc',
- 'src/data_encoding.cc',
- 'src/device_manager.cc',
- 'src/device_registration_info.cc',
- 'src/error.cc',
- 'src/http_constants.cc',
- 'src/json_error_codes.cc',
- 'src/notification/notification_parser.cc',
- 'src/notification/pull_channel.cc',
- 'src/notification/xml_node.cc',
- 'src/notification/xmpp_channel.cc',
- 'src/notification/xmpp_iq_stanza_handler.cc',
- 'src/notification/xmpp_stream_parser.cc',
- 'src/privet/cloud_delegate.cc',
- 'src/privet/constants.cc',
- 'src/privet/device_delegate.cc',
- 'src/privet/openssl_utils.cc',
- 'src/privet/privet_handler.cc',
- 'src/privet/privet_manager.cc',
- 'src/privet/privet_types.cc',
- 'src/privet/publisher.cc',
- 'src/privet/security_manager.cc',
- 'src/privet/wifi_bootstrap_manager.cc',
- 'src/privet/wifi_ssid_generator.cc',
- 'src/registration_status.cc',
- 'src/states/error_codes.cc',
- 'src/states/state_change_queue.cc',
- 'src/states/state_manager.cc',
- 'src/states/state_package.cc',
- 'src/string_utils.cc',
- 'src/utils.cc',
+ '<@(weave_sources)',
],
},
{
'target_name': 'libweave-<(libbase_ver)',
'type': 'shared_library',
+ 'variables': {
+ 'deps': [
+ 'libchrome-<(libbase_ver)',
+ ],
+ },
'includes': [
'../common-mk/deps.gypi',
],
'dependencies': [
'libweave_common',
- 'libweave_external',
],
'sources': [
- 'src/empty.cc',
+ 'src/empty.cc'
],
},
{
'target_name': 'libweave-test-<(libbase_ver)',
'type': 'static_library',
'standalone_static_library': 1,
+ 'variables': {
+ 'deps': [
+ 'libchrome-<(libbase_ver)',
+ ],
+ },
'sources': [
- 'src/commands/mock_command.cc',
- 'src/commands/unittest_utils.cc',
- 'src/mock_http_client.cc',
+ '<@(weave_test_sources)',
+ ],
+ 'includes': ['../common-mk/deps.gypi'],
+ },
+
+ {
+ 'target_name': 'libweave_base_common',
+ 'type': 'static_library',
+ 'cflags!': ['-fPIE'],
+ 'cflags': [
+ '-fPIC',
+ '-Wno-format-nonliteral',
+ '-Wno-char-subscripts',
+ '-Wno-deprecated-register',
+ ],
+ 'include_dirs': [
+ '../libweave/external',
+ ],
+ 'sources': [
+ '<@(weave_sources)',
+ '<@(base_sources)',
+ ],
+ },
+ {
+ 'target_name': 'libweave_base',
+ 'type': 'shared_library',
+ 'include_dirs': [
+ '../libweave/external',
+ ],
+ 'includes': [
+ '../common-mk/deps.gypi',
+ ],
+ 'dependencies': [
+ 'libweave_base_common',
+ ],
+ 'sources': [
+ 'src/empty.cc'
+ ],
+ },
+ {
+ 'target_name': 'libweave_base-test',
+ 'type': 'static_library',
+ 'standalone_static_library': 1,
+ 'include_dirs': [
+ '../libweave/external',
+ ],
+ 'sources': [
+ '<@(weave_test_sources)',
],
'includes': ['../common-mk/deps.gypi'],
},
@@ -114,46 +118,33 @@
'type': 'executable',
'variables': {
'deps': [
- 'libchrome-test-<(libbase_ver)',
+ 'libchrome-<(libbase_ver)',
],
},
'dependencies': [
'libweave_common',
- 'libweave_external',
'libweave-test-<(libbase_ver)',
],
'includes': ['../common-mk/common_test.gypi'],
'sources': [
- 'external/crypto/p224_spake_unittest.cc',
- 'external/crypto/p224_unittest.cc',
- 'external/crypto/sha2_unittest.cc',
- 'src/backoff_entry_unittest.cc',
- 'src/base_api_handler_unittest.cc',
- 'src/commands/cloud_command_proxy_unittest.cc',
- 'src/commands/command_definition_unittest.cc',
- 'src/commands/command_dictionary_unittest.cc',
- 'src/commands/command_instance_unittest.cc',
- 'src/commands/command_manager_unittest.cc',
- 'src/commands/command_queue_unittest.cc',
- 'src/commands/object_schema_unittest.cc',
- 'src/commands/schema_utils_unittest.cc',
- 'src/config_unittest.cc',
- 'src/data_encoding_unittest.cc',
- 'src/device_registration_info_unittest.cc',
- 'src/error_unittest.cc',
- 'src/notification/notification_parser_unittest.cc',
- 'src/notification/xml_node_unittest.cc',
- 'src/notification/xmpp_channel_unittest.cc',
- 'src/notification/xmpp_iq_stanza_handler_unittest.cc',
- 'src/notification/xmpp_stream_parser_unittest.cc',
- 'src/privet/privet_handler_unittest.cc',
- 'src/privet/security_manager_unittest.cc',
- 'src/privet/wifi_ssid_generator_unittest.cc',
- 'src/states/state_change_queue_unittest.cc',
- 'src/states/state_manager_unittest.cc',
- 'src/states/state_package_unittest.cc',
- 'src/string_utils_unittest.cc',
- 'src/weave_testrunner.cc',
+ '<@(weave_unittest_sources)',
+ ],
+ },
+ {
+ 'target_name': 'libweave_base_testrunner',
+ 'type': 'executable',
+ 'cflags': ['-Wno-format-nonliteral'],
+ 'include_dirs': [
+ '../libweave/external',
+ ],
+ 'dependencies': [
+ 'libweave_base_common',
+ 'libweave_base-test',
+ ],
+ 'includes': ['../common-mk/common_test.gypi'],
+ 'sources': [
+ '<@(weave_unittest_sources)',
+ '<@(base_unittests)',
],
},
],
diff --git a/libweave/libweave.gypi b/libweave/libweave.gypi
new file mode 100644
index 0000000..5543575
--- /dev/null
+++ b/libweave/libweave.gypi
@@ -0,0 +1,150 @@
+{
+ 'variables': {
+ 'weave_sources': [
+ 'external/crypto/p224.cc',
+ 'external/crypto/p224_spake.cc',
+ 'external/crypto/sha2.cc',
+ 'src/backoff_entry.cc',
+ 'src/base_api_handler.cc',
+ 'src/commands/cloud_command_proxy.cc',
+ 'src/commands/command_definition.cc',
+ 'src/commands/command_dictionary.cc',
+ 'src/commands/command_instance.cc',
+ 'src/commands/command_manager.cc',
+ 'src/commands/command_queue.cc',
+ 'src/commands/object_schema.cc',
+ 'src/commands/prop_constraints.cc',
+ 'src/commands/prop_types.cc',
+ 'src/commands/prop_values.cc',
+ 'src/commands/schema_constants.cc',
+ 'src/commands/schema_utils.cc',
+ 'src/commands/user_role.cc',
+ 'src/config.cc',
+ 'src/data_encoding.cc',
+ 'src/device_manager.cc',
+ 'src/device_registration_info.cc',
+ 'src/error.cc',
+ 'src/http_constants.cc',
+ 'src/json_error_codes.cc',
+ 'src/notification/notification_parser.cc',
+ 'src/notification/pull_channel.cc',
+ 'src/notification/xml_node.cc',
+ 'src/notification/xmpp_channel.cc',
+ 'src/notification/xmpp_iq_stanza_handler.cc',
+ 'src/notification/xmpp_stream_parser.cc',
+ 'src/privet/cloud_delegate.cc',
+ 'src/privet/constants.cc',
+ 'src/privet/device_delegate.cc',
+ 'src/privet/openssl_utils.cc',
+ 'src/privet/privet_handler.cc',
+ 'src/privet/privet_manager.cc',
+ 'src/privet/privet_types.cc',
+ 'src/privet/publisher.cc',
+ 'src/privet/security_manager.cc',
+ 'src/privet/wifi_bootstrap_manager.cc',
+ 'src/privet/wifi_ssid_generator.cc',
+ 'src/registration_status.cc',
+ 'src/states/error_codes.cc',
+ 'src/states/state_change_queue.cc',
+ 'src/states/state_manager.cc',
+ 'src/states/state_package.cc',
+ 'src/string_utils.cc',
+ 'src/utils.cc',
+ 'third_party/modp_b64/modp_b64.cc',
+ ],
+ 'weave_test_sources': [
+ 'src/commands/mock_command.cc',
+ 'src/commands/unittest_utils.cc',
+ 'src/mock_http_client.cc',
+ ],
+ 'weave_unittest_sources': [
+ 'external/crypto/p224_spake_unittest.cc',
+ 'external/crypto/p224_unittest.cc',
+ 'external/crypto/sha2_unittest.cc',
+ 'src/backoff_entry_unittest.cc',
+ 'src/base_api_handler_unittest.cc',
+ 'src/commands/cloud_command_proxy_unittest.cc',
+ 'src/commands/command_definition_unittest.cc',
+ 'src/commands/command_dictionary_unittest.cc',
+ 'src/commands/command_instance_unittest.cc',
+ 'src/commands/command_manager_unittest.cc',
+ 'src/commands/command_queue_unittest.cc',
+ 'src/commands/object_schema_unittest.cc',
+ 'src/commands/schema_utils_unittest.cc',
+ 'src/config_unittest.cc',
+ 'src/data_encoding_unittest.cc',
+ 'src/device_registration_info_unittest.cc',
+ 'src/error_unittest.cc',
+ 'src/notification/notification_parser_unittest.cc',
+ 'src/notification/xml_node_unittest.cc',
+ 'src/notification/xmpp_channel_unittest.cc',
+ 'src/notification/xmpp_iq_stanza_handler_unittest.cc',
+ 'src/notification/xmpp_stream_parser_unittest.cc',
+ 'src/privet/privet_handler_unittest.cc',
+ 'src/privet/security_manager_unittest.cc',
+ 'src/privet/wifi_ssid_generator_unittest.cc',
+ 'src/states/state_change_queue_unittest.cc',
+ 'src/states/state_manager_unittest.cc',
+ 'src/states/state_package_unittest.cc',
+ 'src/string_utils_unittest.cc',
+ 'src/weave_testrunner.cc',
+ ],
+ 'base_sources': [
+ 'external/base/bind_helpers.cc',
+ 'external/base/callback_internal.cc',
+ 'external/base/guid_posix.cc',
+ 'external/base/json/json_parser.cc',
+ 'external/base/json/json_reader.cc',
+ 'external/base/json/json_writer.cc',
+ 'external/base/json/string_escape.cc',
+ 'external/base/memory/ref_counted.cc',
+ 'external/base/logging.cc',
+ 'external/base/location.cc',
+ 'external/base/memory/weak_ptr.cc',
+ 'external/base/memory/weak_ptr.cc',
+ 'external/base/rand_util.cc',
+ 'external/base/rand_util_posix.cc',
+ 'external/base/strings/string_number_conversions.cc',
+ 'external/base/strings/string_piece.cc',
+ 'external/base/strings/stringprintf.cc',
+ 'external/base/strings/string_util.cc',
+ 'external/base/strings/string_util_constants.cc',
+ 'external/base/strings/utf_string_conversion_utils.cc',
+ 'external/base/third_party/dmg_fp/g_fmt.cc',
+ 'external/base/third_party/dmg_fp/dtoa.cc',
+ 'external/base/third_party/icu/icu_utf.cc',
+ 'external/base/time/clock.cc',
+ 'external/base/time/time.cc',
+ 'external/base/time/time_posix.cc',
+ 'external/base/values.cc',
+ ],
+ 'base_unittests': [
+ 'external/base/atomicops_unittest.cc',
+ 'external/base/bind_unittest.cc',
+ 'external/base/callback_list_unittest.cc',
+ 'external/base/callback_unittest.cc',
+ 'external/base/guid_unittest.cc',
+ 'external/base/json/json_parser_unittest.cc',
+ 'external/base/json/json_reader_unittest.cc',
+ 'external/base/json/json_writer_unittest.cc',
+ 'external/base/json/string_escape_unittest.cc',
+ 'external/base/logging_unittest.cc',
+ 'external/base/memory/ref_counted_unittest.cc',
+ 'external/base/memory/scoped_ptr_unittest.cc',
+ 'external/base/memory/weak_ptr_unittest.cc',
+ 'external/base/move_unittest.cc',
+ 'external/base/numerics/safe_numerics_unittest.cc',
+ 'external/base/observer_list_unittest.cc',
+ 'external/base/rand_util_unittest.cc',
+ 'external/base/scoped_clear_errno_unittest.cc',
+ 'external/base/strings/string_number_conversions_unittest.cc',
+ 'external/base/strings/string_piece_unittest.cc',
+ 'external/base/strings/string_util_unittest.cc',
+ 'external/base/strings/stringprintf_unittest.cc',
+ 'external/base/template_util_unittest.cc',
+ 'external/base/time/time_unittest.cc',
+ 'external/base/tuple_unittest.cc',
+ 'external/base/values_unittest.cc',
+ ],
+ },
+}