1*3f982cf4SFabien Sanglard# Copyright 2019 The Chromium Authors. All rights reserved. 2*3f982cf4SFabien Sanglard# Use of this source code is governed by a BSD-style license that can be 3*3f982cf4SFabien Sanglard# found in the LICENSE file. 4*3f982cf4SFabien Sanglard 5*3f982cf4SFabien Sanglardimport("//build_overrides/build.gni") 6*3f982cf4SFabien Sanglard 7*3f982cf4SFabien Sanglarddeclare_args() { 8*3f982cf4SFabien Sanglard # Enables trace logging in build. This is true by default, unless 9*3f982cf4SFabien Sanglard # we are built against Chrome--we have no way to link their platform 10*3f982cf4SFabien Sanglard # implementation into our binaries so trace logging is not possible. 11*3f982cf4SFabien Sanglard enable_trace_logging = !build_with_chromium 12*3f982cf4SFabien Sanglard} 13*3f982cf4SFabien Sanglard 14*3f982cf4SFabien Sanglardconfig("trace_logging_config") { 15*3f982cf4SFabien Sanglard if (enable_trace_logging) { 16*3f982cf4SFabien Sanglard defines = [ "ENABLE_TRACE_LOGGING" ] 17*3f982cf4SFabien Sanglard } 18*3f982cf4SFabien Sanglard} 19*3f982cf4SFabien Sanglard 20*3f982cf4SFabien Sanglard# The set of util classes which have no dependency on platform:api. 21*3f982cf4SFabien Sanglardsource_set("base") { 22*3f982cf4SFabien Sanglard sources = [ 23*3f982cf4SFabien Sanglard "base64.cc", 24*3f982cf4SFabien Sanglard "base64.h", 25*3f982cf4SFabien Sanglard "big_endian.cc", 26*3f982cf4SFabien Sanglard "big_endian.h", 27*3f982cf4SFabien Sanglard "chrono_helpers.h", 28*3f982cf4SFabien Sanglard "enum_name_table.h", 29*3f982cf4SFabien Sanglard "flat_map.h", 30*3f982cf4SFabien Sanglard "hashing.h", 31*3f982cf4SFabien Sanglard "integer_division.h", 32*3f982cf4SFabien Sanglard "json/json_helpers.h", 33*3f982cf4SFabien Sanglard "json/json_serialization.cc", 34*3f982cf4SFabien Sanglard "json/json_serialization.h", 35*3f982cf4SFabien Sanglard "json/json_value.cc", 36*3f982cf4SFabien Sanglard "json/json_value.h", 37*3f982cf4SFabien Sanglard "osp_logging.h", 38*3f982cf4SFabien Sanglard "saturate_cast.h", 39*3f982cf4SFabien Sanglard "simple_fraction.cc", 40*3f982cf4SFabien Sanglard "simple_fraction.h", 41*3f982cf4SFabien Sanglard "std_util.cc", 42*3f982cf4SFabien Sanglard "std_util.h", 43*3f982cf4SFabien Sanglard "stringprintf.cc", 44*3f982cf4SFabien Sanglard "stringprintf.h", 45*3f982cf4SFabien Sanglard "url.cc", 46*3f982cf4SFabien Sanglard "url.h", 47*3f982cf4SFabien Sanglard "weak_ptr.h", 48*3f982cf4SFabien Sanglard "yet_another_bit_vector.cc", 49*3f982cf4SFabien Sanglard "yet_another_bit_vector.h", 50*3f982cf4SFabien Sanglard ] 51*3f982cf4SFabien Sanglard 52*3f982cf4SFabien Sanglard public_deps = [ 53*3f982cf4SFabien Sanglard "../platform:base", 54*3f982cf4SFabien Sanglard "../platform:logging", 55*3f982cf4SFabien Sanglard "../third_party/abseil", 56*3f982cf4SFabien Sanglard "../third_party/jsoncpp", 57*3f982cf4SFabien Sanglard ] 58*3f982cf4SFabien Sanglard 59*3f982cf4SFabien Sanglard deps = [ 60*3f982cf4SFabien Sanglard "../third_party/mozilla", 61*3f982cf4SFabien Sanglard 62*3f982cf4SFabien Sanglard # We do a clone of Chrome's modp_b64 in order to share their BUILD.gn 63*3f982cf4SFabien Sanglard # and license files, so this should always be an absolute reference. 64*3f982cf4SFabien Sanglard "//third_party/modp_b64", 65*3f982cf4SFabien Sanglard ] 66*3f982cf4SFabien Sanglard 67*3f982cf4SFabien Sanglard public_configs = [ "../build:openscreen_include_dirs" ] 68*3f982cf4SFabien Sanglard} 69*3f982cf4SFabien Sanglard 70*3f982cf4SFabien Sanglardsource_set("util") { 71*3f982cf4SFabien Sanglard sources = [ 72*3f982cf4SFabien Sanglard "alarm.cc", 73*3f982cf4SFabien Sanglard "alarm.h", 74*3f982cf4SFabien Sanglard "crypto/certificate_utils.cc", 75*3f982cf4SFabien Sanglard "crypto/certificate_utils.h", 76*3f982cf4SFabien Sanglard "crypto/digest_sign.cc", 77*3f982cf4SFabien Sanglard "crypto/digest_sign.h", 78*3f982cf4SFabien Sanglard "crypto/openssl_util.cc", 79*3f982cf4SFabien Sanglard "crypto/openssl_util.h", 80*3f982cf4SFabien Sanglard "crypto/pem_helpers.cc", 81*3f982cf4SFabien Sanglard "crypto/pem_helpers.h", 82*3f982cf4SFabien Sanglard "crypto/random_bytes.cc", 83*3f982cf4SFabien Sanglard "crypto/random_bytes.h", 84*3f982cf4SFabien Sanglard "crypto/rsa_private_key.cc", 85*3f982cf4SFabien Sanglard "crypto/rsa_private_key.h", 86*3f982cf4SFabien Sanglard "crypto/secure_hash.cc", 87*3f982cf4SFabien Sanglard "crypto/secure_hash.h", 88*3f982cf4SFabien Sanglard "crypto/sha2.cc", 89*3f982cf4SFabien Sanglard "crypto/sha2.h", 90*3f982cf4SFabien Sanglard "trace_logging.h", 91*3f982cf4SFabien Sanglard "trace_logging/macro_support.h", 92*3f982cf4SFabien Sanglard "trace_logging/scoped_trace_operations.cc", 93*3f982cf4SFabien Sanglard "trace_logging/scoped_trace_operations.h", 94*3f982cf4SFabien Sanglard ] 95*3f982cf4SFabien Sanglard 96*3f982cf4SFabien Sanglard public_deps = [ 97*3f982cf4SFabien Sanglard ":base", 98*3f982cf4SFabien Sanglard "../platform:api", 99*3f982cf4SFabien Sanglard "../platform:base", 100*3f982cf4SFabien Sanglard "../third_party/abseil", 101*3f982cf4SFabien Sanglard "../third_party/jsoncpp", 102*3f982cf4SFabien Sanglard ] 103*3f982cf4SFabien Sanglard 104*3f982cf4SFabien Sanglard deps = [ "../third_party/boringssl" ] 105*3f982cf4SFabien Sanglard 106*3f982cf4SFabien Sanglard public_configs = [ 107*3f982cf4SFabien Sanglard "../build:openscreen_include_dirs", 108*3f982cf4SFabien Sanglard ":trace_logging_config", 109*3f982cf4SFabien Sanglard ] 110*3f982cf4SFabien Sanglard} 111*3f982cf4SFabien Sanglard 112*3f982cf4SFabien Sanglardsource_set("unittests") { 113*3f982cf4SFabien Sanglard testonly = true 114*3f982cf4SFabien Sanglard 115*3f982cf4SFabien Sanglard sources = [ 116*3f982cf4SFabien Sanglard "alarm_unittest.cc", 117*3f982cf4SFabien Sanglard "base64_unittest.cc", 118*3f982cf4SFabien Sanglard "big_endian_unittest.cc", 119*3f982cf4SFabien Sanglard "crypto/certificate_utils_unittest.cc", 120*3f982cf4SFabien Sanglard "crypto/random_bytes_unittest.cc", 121*3f982cf4SFabien Sanglard "crypto/rsa_private_key_unittest.cc", 122*3f982cf4SFabien Sanglard "crypto/secure_hash_unittest.cc", 123*3f982cf4SFabien Sanglard "crypto/sha2_unittest.cc", 124*3f982cf4SFabien Sanglard "enum_name_table_unittest.cc", 125*3f982cf4SFabien Sanglard "flat_map_unittest.cc", 126*3f982cf4SFabien Sanglard "integer_division_unittest.cc", 127*3f982cf4SFabien Sanglard "json/json_helpers_unittest.cc", 128*3f982cf4SFabien Sanglard "json/json_serialization_unittest.cc", 129*3f982cf4SFabien Sanglard "json/json_value_unittest.cc", 130*3f982cf4SFabien Sanglard "saturate_cast_unittest.cc", 131*3f982cf4SFabien Sanglard "simple_fraction_unittest.cc", 132*3f982cf4SFabien Sanglard "stringprintf_unittest.cc", 133*3f982cf4SFabien Sanglard "trace_logging/scoped_trace_operations_unittest.cc", 134*3f982cf4SFabien Sanglard "url_unittest.cc", 135*3f982cf4SFabien Sanglard "weak_ptr_unittest.cc", 136*3f982cf4SFabien Sanglard "yet_another_bit_vector_unittest.cc", 137*3f982cf4SFabien Sanglard ] 138*3f982cf4SFabien Sanglard 139*3f982cf4SFabien Sanglard # The trace logging unittests depend on macros only defined 140*3f982cf4SFabien Sanglard # when trace logging is enabled. 141*3f982cf4SFabien Sanglard if (enable_trace_logging) { 142*3f982cf4SFabien Sanglard sources += [ "trace_logging_unittest.cc" ] 143*3f982cf4SFabien Sanglard } 144*3f982cf4SFabien Sanglard 145*3f982cf4SFabien Sanglard deps = [ 146*3f982cf4SFabien Sanglard ":util", 147*3f982cf4SFabien Sanglard "../platform:test", 148*3f982cf4SFabien Sanglard "../third_party/abseil", 149*3f982cf4SFabien Sanglard "../third_party/boringssl", 150*3f982cf4SFabien Sanglard "../third_party/googletest:gmock", 151*3f982cf4SFabien Sanglard "../third_party/googletest:gtest", 152*3f982cf4SFabien Sanglard "../third_party/jsoncpp", 153*3f982cf4SFabien Sanglard ] 154*3f982cf4SFabien Sanglard} 155