# Copyright 2014 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//testing/libfuzzer/fuzzer_test.gni") import("//third_party/libprotobuf-mutator/fuzzable_proto_library.gni") import("//third_party/protobuf/proto_library.gni") if (is_android) { import("//build/config/android/rules.gni") proto_java_library("proto_java") { proto_path = "//" sources = [ "client_variations.proto", "layer.proto", "study.proto", "variations_seed.proto", ] } } fuzzable_proto_library("proto") { sources = [ "layer.proto", "stored_seed_info.proto", "study.proto", "variations_seed.proto", ] proto_in_dir = "//" } proto_library("client_variations_proto") { sources = [ "client_variations.proto" ] # The generated JavaScript bindings are used to build a small, self-contained # parser for ClientVariations in Dev Tools. This parser is used to decode the # X-Client-Data header. # # Note: This is incompatible with "edition" syntax of protobuf. The plan is to # migrate this away from JS proto bindings, tracked here: crbug.com/40253708 generate_javascript = true } # Some of the Windows builders do not support Java, which is a required # dependency for this build target. The fuzzable_proto_library doesn't support # building JS protos when use_fuzzing_engine_with_lpm is true.This target is # only built manually, so it's fine to limit it to Linux non-fuzzer builds. if (is_linux && !use_fuzzing_engine_with_lpm) { group("devtools") { deps = [ "devtools" ] } }