| # Copyright 2019 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build_overrides/build.gni") |
| |
| declare_args() { |
| # Enables trace logging in build. This is true by default, unless |
| # we are built against Chrome--we have no way to link their platform |
| # implementation into our binaries so trace logging is not possible. |
| enable_trace_logging = !build_with_chromium |
| } |
| |
| config("trace_logging_config") { |
| if (enable_trace_logging) { |
| defines = [ "ENABLE_TRACE_LOGGING" ] |
| } |
| } |
| |
| source_set("util") { |
| sources = [ |
| "alarm.cc", |
| "alarm.h", |
| "base64.cc", |
| "base64.h", |
| "big_endian.cc", |
| "big_endian.h", |
| "chrono_helpers.h", |
| "crypto/certificate_utils.cc", |
| "crypto/certificate_utils.h", |
| "crypto/digest_sign.cc", |
| "crypto/digest_sign.h", |
| "crypto/openssl_util.cc", |
| "crypto/openssl_util.h", |
| "crypto/pem_helpers.cc", |
| "crypto/pem_helpers.h", |
| "crypto/random_bytes.cc", |
| "crypto/random_bytes.h", |
| "crypto/rsa_private_key.cc", |
| "crypto/rsa_private_key.h", |
| "crypto/secure_hash.cc", |
| "crypto/secure_hash.h", |
| "crypto/sha2.cc", |
| "crypto/sha2.h", |
| "enum_name_table.h", |
| "flat_map.h", |
| "hashing.h", |
| "integer_division.h", |
| "json/json_helpers.h", |
| "json/json_serialization.cc", |
| "json/json_serialization.h", |
| "json/json_value.cc", |
| "json/json_value.h", |
| "operation_loop.cc", |
| "operation_loop.h", |
| "osp_logging.h", |
| "saturate_cast.h", |
| "simple_fraction.cc", |
| "simple_fraction.h", |
| "std_util.cc", |
| "std_util.h", |
| "stringprintf.cc", |
| "stringprintf.h", |
| "trace_logging.h", |
| "trace_logging/macro_support.h", |
| "trace_logging/scoped_trace_operations.cc", |
| "trace_logging/scoped_trace_operations.h", |
| "url.cc", |
| "url.h", |
| "weak_ptr.h", |
| "yet_another_bit_vector.cc", |
| "yet_another_bit_vector.h", |
| ] |
| |
| public_deps = [ |
| "../third_party/abseil", |
| "../third_party/jsoncpp", |
| ] |
| |
| deps = [ |
| "../third_party/boringssl", |
| "../third_party/mozilla", |
| |
| # We do a clone of Chrome's modp_b64 in order to share their BUILD.gn |
| # and license files, so this should always be an absolute reference. |
| "//third_party/modp_b64", |
| ] |
| |
| public_configs = [ |
| "../build:openscreen_include_dirs", |
| ":trace_logging_config", |
| ] |
| } |
| |
| source_set("unittests") { |
| testonly = true |
| |
| sources = [ |
| "alarm_unittest.cc", |
| "base64_unittest.cc", |
| "big_endian_unittest.cc", |
| "crypto/random_bytes_unittest.cc", |
| "crypto/rsa_private_key_unittest.cc", |
| "crypto/secure_hash_unittest.cc", |
| "crypto/sha2_unittest.cc", |
| "enum_name_table_unittest.cc", |
| "flat_map_unittest.cc", |
| "integer_division_unittest.cc", |
| "json/json_helpers_unittest.cc", |
| "json/json_serialization_unittest.cc", |
| "json/json_value_unittest.cc", |
| "operation_loop_unittest.cc", |
| "saturate_cast_unittest.cc", |
| "simple_fraction_unittest.cc", |
| "stringprintf_unittest.cc", |
| "trace_logging/scoped_trace_operations_unittest.cc", |
| "url_unittest.cc", |
| "weak_ptr_unittest.cc", |
| "yet_another_bit_vector_unittest.cc", |
| ] |
| |
| # The trace logging unittests depend on macros only defined |
| # when trace logging is enabled. |
| if (enable_trace_logging) { |
| sources += [ "trace_logging_unittest.cc" ] |
| } |
| |
| # TODO(http://issuetracker.google.com/159955844): test fails on fieldtrial |
| # bot, needs to be diagnosed and reenabled in Chrome. |
| if (!build_with_chromium) { |
| sources += [ "crypto/certificate_utils_unittest.cc" ] |
| } |
| |
| deps = [ |
| ":util", |
| "../platform:test", |
| "../third_party/abseil", |
| "../third_party/boringssl", |
| "../third_party/googletest:gmock", |
| "../third_party/googletest:gtest", |
| "../third_party/jsoncpp", |
| ] |
| } |