1import("//third_party/protobuf/proto_library.gni") 2 3config("anonymous_tokens_config") { 4 include_dirs = [ 5 "overrides", 6 "src", 7 ] 8} 9 10source_set("anonymous_tokens_public_key_client") { 11 sources = [ 12 "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client.cc", 13 "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client.h", 14 ] 15 16 public_configs = [ ":anonymous_tokens_config" ] 17 18 deps = [ 19 ":proto_utils", 20 ":status_utils", 21 ] 22 public_deps = [ 23 ":anonymous_tokens_cc_proto", 24 "//third_party/abseil-cpp:absl", 25 ] 26} 27source_set("anonymous_tokens_rsa_bssa_client") { 28 sources = [ 29 "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client.cc", 30 "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client.h", 31 ] 32 33 public_configs = [ ":anonymous_tokens_config" ] 34 35 deps = [ 36 ":anonymous_tokens_pb_openssl_converters", 37 ":crypto_utils", 38 ":rsa_blinder", 39 ":status_utils", 40 ] 41 public_deps = [ 42 ":anonymous_tokens_cc_proto", 43 ":proto_utils", 44 "//third_party/abseil-cpp:absl", 45 ] 46} 47source_set("anonymous_tokens_redemption_client") { 48 sources = [ 49 "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client.cc", 50 "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client.h", 51 ] 52 53 public_configs = [ ":anonymous_tokens_config" ] 54 55 deps = [ ":constants" ] 56 public_deps = [ 57 ":anonymous_tokens_cc_proto", 58 "//third_party/abseil-cpp:absl", 59 ] 60} 61 62source_set("anonymous_tokens_pb_openssl_converters") { 63 sources = [ 64 "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters.cc", 65 "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters.h", 66 ] 67 68 public_configs = [ ":anonymous_tokens_config" ] 69 70 deps = [ 71 ":anonymous_tokens_cc_proto", 72 ":constants", 73 ":crypto_utils", 74 ":status_utils", 75 "//third_party/abseil-cpp:absl", 76 "//third_party/boringssl", 77 ] 78 public_deps = [ 79 ":anonymous_tokens_cc_proto", 80 "//third_party/abseil-cpp:absl", 81 ] 82} 83 84proto_library("anonymous_tokens_cc_proto") { 85 sources = [ "src/anonymous_tokens/proto/anonymous_tokens.proto" ] 86 87 component_build_force_source_set = true 88 cc_generator_options = "lite=true:" 89 90 proto_in_dir = "src" 91} 92 93if (is_android) { 94 import("//build/config/android/rules.gni") 95 96 proto_java_library("anonymous_tokens_java_proto") { 97 sources = [ "src/anonymous_tokens/proto/anonymous_tokens.proto" ] 98 99 proto_path = "src/" 100 } 101} 102 103source_set("proto_utils") { 104 sources = [ 105 "src/anonymous_tokens/cpp/shared/proto_utils.cc", 106 "src/anonymous_tokens/cpp/shared/proto_utils.h", 107 ] 108 109 public_configs = [ ":anonymous_tokens_config" ] 110 111 public_deps = [ 112 ":anonymous_tokens_cc_proto", 113 "//third_party/abseil-cpp:absl", 114 ] 115} 116source_set("status_utils") { 117 sources = [ "src/anonymous_tokens/cpp/shared/status_utils.h" ] 118 119 public_configs = [ ":anonymous_tokens_config" ] 120 121 public_deps = [ "//third_party/abseil-cpp:absl" ] 122} 123 124source_set("blinder") { 125 sources = [ "src/anonymous_tokens/cpp/crypto/blinder.h" ] 126 public_configs = [ ":anonymous_tokens_config" ] 127 public_deps = [ "//third_party/abseil-cpp:absl" ] 128} 129 130source_set("constants") { 131 sources = [ "src/anonymous_tokens/cpp/crypto/constants.h" ] 132 public_configs = [ ":anonymous_tokens_config" ] 133 public_deps = [ "//third_party/abseil-cpp:absl" ] 134} 135 136source_set("crypto_utils") { 137 sources = [ 138 "src/anonymous_tokens/cpp/crypto/crypto_utils.cc", 139 "src/anonymous_tokens/cpp/crypto/crypto_utils.h", 140 ] 141 public_configs = [ ":anonymous_tokens_config" ] 142 deps = [ 143 ":constants", 144 ":status_utils", 145 ] 146 public_deps = [ 147 ":anonymous_tokens_cc_proto", 148 "//third_party/abseil-cpp:absl", 149 "//third_party/boringssl", 150 ] 151} 152 153source_set("rsa_blinder") { 154 sources = [ 155 "src/anonymous_tokens/cpp/crypto/rsa_blinder.cc", 156 "src/anonymous_tokens/cpp/crypto/rsa_blinder.h", 157 ] 158 public_configs = [ ":anonymous_tokens_config" ] 159 deps = [ 160 ":blinder", 161 ":constants", 162 ":crypto_utils", 163 ":status_utils", 164 ] 165 public_deps = [ 166 ":anonymous_tokens_cc_proto", 167 "//third_party/abseil-cpp:absl", 168 "//third_party/boringssl", 169 ] 170} 171 172source_set("blind_signer") { 173 sources = [ "src/anonymous_tokens/cpp/crypto/blind_signer.h" ] 174 public_configs = [ ":anonymous_tokens_config" ] 175 public_deps = [ "//third_party/abseil-cpp:absl" ] 176} 177 178source_set("rsa_blind_signer") { 179 sources = [ 180 "src/anonymous_tokens/cpp/crypto/rsa_blind_signer.cc", 181 "src/anonymous_tokens/cpp/crypto/rsa_blind_signer.h", 182 ] 183 public_configs = [ ":anonymous_tokens_config" ] 184 deps = [ 185 ":anonymous_tokens_pb_openssl_converters", 186 ":blind_signer", 187 ":constants", 188 ":crypto_utils", 189 ":status_utils", 190 ] 191 public_deps = [ 192 ":anonymous_tokens_cc_proto", 193 "//third_party/abseil-cpp:absl", 194 "//third_party/boringssl", 195 ] 196} 197 198source_set("verifier") { 199 sources = [ "src/anonymous_tokens/cpp/crypto/verifier.h" ] 200 public_configs = [ ":anonymous_tokens_config" ] 201 public_deps = [ "//third_party/abseil-cpp:absl" ] 202} 203 204source_set("rsa_ssa_pss_verifier") { 205 sources = [ 206 "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier.cc", 207 "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier.h", 208 ] 209 public_configs = [ ":anonymous_tokens_config" ] 210 deps = [ 211 ":anonymous_tokens_pb_openssl_converters", 212 ":constants", 213 ":crypto_utils", 214 ":status_utils", 215 ":verifier", 216 ] 217 public_deps = [ 218 ":anonymous_tokens_cc_proto", 219 "//third_party/abseil-cpp:absl", 220 "//third_party/boringssl", 221 ] 222} 223 224source_set("rsa_bssa_public_metadata_client") { 225 sources = [ 226 "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client.cc", 227 "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client.h", 228 ] 229 public_configs = [ ":anonymous_tokens_config" ] 230 deps = [ 231 ":constants", 232 ":crypto_utils", 233 ":rsa_blinder", 234 ":status_utils", 235 ":tokens_encodings", 236 ] 237 public_deps = [ 238 "//third_party/abseil-cpp:absl", 239 "//third_party/boringssl", 240 ] 241} 242 243source_set("tokens_encodings") { 244 sources = [ 245 "src/anonymous_tokens/cpp/privacy_pass/token_encodings.cc", 246 "src/anonymous_tokens/cpp/privacy_pass/token_encodings.h", 247 ] 248 public_configs = [ ":anonymous_tokens_config" ] 249 deps = [ ":status_utils" ] 250 public_deps = [ 251 "//third_party/abseil-cpp:absl", 252 "//third_party/boringssl", 253 ] 254} 255 256static_library("anonymous_tokens_test_support") { 257 testonly = true 258 sources = [ 259 "overrides/anonymous_tokens/cpp/testing/testdata_utils.h", 260 "src/anonymous_tokens/cpp/testing/proto_utils.cc", 261 "src/anonymous_tokens/cpp/testing/proto_utils.h", 262 "src/anonymous_tokens/cpp/testing/utils.cc", 263 "src/anonymous_tokens/cpp/testing/utils.h", 264 "testdata_utils_impl.cc", 265 "testdata_utils_impl.h", 266 ] 267 public_configs = [ ":anonymous_tokens_config" ] 268 deps = [ 269 ":constants", 270 ":crypto_utils", 271 ":status_utils", 272 "//base:base", 273 ] 274 public_deps = [ 275 ":anonymous_tokens_cc_proto", 276 "//third_party/abseil-cpp:absl", 277 "//third_party/boringssl", 278 ] 279} 280 281bundle_data("test_data") { 282 visibility = [ ":anonymous_tokens_tests" ] 283 testonly = true 284 sources = [ 285 "src/anonymous_tokens/testdata/strong_rsa_modulus2048_example.binarypb", 286 "src/anonymous_tokens/testdata/strong_rsa_modulus2048_example_2.binarypb", 287 "src/anonymous_tokens/testdata/strong_rsa_modulus3072_example.binarypb", 288 "src/anonymous_tokens/testdata/strong_rsa_modulus4096_example.binarypb", 289 ] 290 outputs = [ "{{bundle_resources_dir}}/" + 291 "{{source_root_relative_dir}}/{{source_file_part}}" ] 292} 293 294source_set("anonymous_tokens_tests") { 295 testonly = true 296 sources = [ 297 "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client_test.cc", 298 "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client_test.cc", 299 "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client_test.cc", 300 "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters_test.cc", 301 "src/anonymous_tokens/cpp/crypto/crypto_utils_test.cc", 302 "src/anonymous_tokens/cpp/crypto/rsa_blind_signer_test.cc", 303 "src/anonymous_tokens/cpp/crypto/rsa_blinder_test.cc", 304 "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier_test.cc", 305 "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client_test.cc", 306 "src/anonymous_tokens/cpp/privacy_pass/token_encodings_test.cc", 307 "src/anonymous_tokens/cpp/shared/proto_utils_test.cc", 308 ] 309 310 data = [ "src/anonymous_tokens/testdata/" ] 311 public_configs = [ ":anonymous_tokens_config" ] 312 deps = [ 313 ":anonymous_tokens_pb_openssl_converters", 314 ":anonymous_tokens_public_key_client", 315 ":anonymous_tokens_redemption_client", 316 ":anonymous_tokens_rsa_bssa_client", 317 ":anonymous_tokens_test_support", 318 ":constants", 319 ":crypto_utils", 320 ":proto_utils", 321 ":rsa_blind_signer", 322 ":rsa_blinder", 323 ":rsa_bssa_public_metadata_client", 324 ":rsa_ssa_pss_verifier", 325 ":status_utils", 326 ":tokens_encodings", 327 "//testing/gmock", 328 "//testing/gtest", 329 "//third_party/abseil-cpp:absl", 330 ] 331 if (is_ios) { 332 deps += [ ":test_data" ] 333 } 334} 335