xref: /aosp_15_r20/external/cronet/net/server/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2018 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport("//net/features.gni")
6*6777b538SAndroid Build Coastguard Workerimport("//testing/libfuzzer/fuzzer_test.gni")
7*6777b538SAndroid Build Coastguard Worker
8*6777b538SAndroid Build Coastguard Workerstatic_library("http_server") {
9*6777b538SAndroid Build Coastguard Worker  public = []
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard Worker  # This target is being deprecated. Use //services/network/public/cpp/server
12*6777b538SAndroid Build Coastguard Worker  # instead.
13*6777b538SAndroid Build Coastguard Worker  visibility = [
14*6777b538SAndroid Build Coastguard Worker    ":net_http_server_fuzzer_deps",
15*6777b538SAndroid Build Coastguard Worker    ":tests",
16*6777b538SAndroid Build Coastguard Worker    "//chrome/browser/devtools",
17*6777b538SAndroid Build Coastguard Worker    "//chrome/test/chromedriver/*",
18*6777b538SAndroid Build Coastguard Worker    "//content/browser",
19*6777b538SAndroid Build Coastguard Worker    "//net:net_web_socket_encoder_fuzzer_deps",
20*6777b538SAndroid Build Coastguard Worker  ]
21*6777b538SAndroid Build Coastguard Worker
22*6777b538SAndroid Build Coastguard Worker  friend = [
23*6777b538SAndroid Build Coastguard Worker    ":net_http_server_fuzzer",
24*6777b538SAndroid Build Coastguard Worker    "//net:net_web_socket_encoder_fuzzer",
25*6777b538SAndroid Build Coastguard Worker    ":tests",
26*6777b538SAndroid Build Coastguard Worker    "//chrome/browser/devtools",
27*6777b538SAndroid Build Coastguard Worker    "//chrome/test/chromedriver/*",
28*6777b538SAndroid Build Coastguard Worker    "//content/browser",
29*6777b538SAndroid Build Coastguard Worker  ]
30*6777b538SAndroid Build Coastguard Worker
31*6777b538SAndroid Build Coastguard Worker  if (enable_websockets) {
32*6777b538SAndroid Build Coastguard Worker    sources = [
33*6777b538SAndroid Build Coastguard Worker      "http_connection.cc",
34*6777b538SAndroid Build Coastguard Worker      "http_connection.h",
35*6777b538SAndroid Build Coastguard Worker      "http_server.cc",
36*6777b538SAndroid Build Coastguard Worker      "http_server.h",
37*6777b538SAndroid Build Coastguard Worker      "http_server_request_info.cc",
38*6777b538SAndroid Build Coastguard Worker      "http_server_request_info.h",
39*6777b538SAndroid Build Coastguard Worker      "http_server_response_info.cc",
40*6777b538SAndroid Build Coastguard Worker      "http_server_response_info.h",
41*6777b538SAndroid Build Coastguard Worker      "web_socket.cc",
42*6777b538SAndroid Build Coastguard Worker      "web_socket.h",
43*6777b538SAndroid Build Coastguard Worker      "web_socket_encoder.cc",
44*6777b538SAndroid Build Coastguard Worker      "web_socket_encoder.h",
45*6777b538SAndroid Build Coastguard Worker    ]
46*6777b538SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:wexit_time_destructors" ]
47*6777b538SAndroid Build Coastguard Worker    deps = [
48*6777b538SAndroid Build Coastguard Worker      "//base",
49*6777b538SAndroid Build Coastguard Worker      "//net",
50*6777b538SAndroid Build Coastguard Worker    ]
51*6777b538SAndroid Build Coastguard Worker  }
52*6777b538SAndroid Build Coastguard Worker}
53*6777b538SAndroid Build Coastguard Worker
54*6777b538SAndroid Build Coastguard Workersource_set("tests") {
55*6777b538SAndroid Build Coastguard Worker  testonly = true
56*6777b538SAndroid Build Coastguard Worker  if (enable_websockets) {
57*6777b538SAndroid Build Coastguard Worker    sources = [
58*6777b538SAndroid Build Coastguard Worker      "http_connection_unittest.cc",
59*6777b538SAndroid Build Coastguard Worker      "http_server_response_info_unittest.cc",
60*6777b538SAndroid Build Coastguard Worker      "http_server_unittest.cc",
61*6777b538SAndroid Build Coastguard Worker      "web_socket_encoder_unittest.cc",
62*6777b538SAndroid Build Coastguard Worker    ]
63*6777b538SAndroid Build Coastguard Worker    deps = [
64*6777b538SAndroid Build Coastguard Worker      ":http_server",
65*6777b538SAndroid Build Coastguard Worker      "//base",
66*6777b538SAndroid Build Coastguard Worker      "//net",
67*6777b538SAndroid Build Coastguard Worker      "//net:test_support",
68*6777b538SAndroid Build Coastguard Worker      "//testing/gtest",
69*6777b538SAndroid Build Coastguard Worker    ]
70*6777b538SAndroid Build Coastguard Worker  }
71*6777b538SAndroid Build Coastguard Worker}
72*6777b538SAndroid Build Coastguard Worker
73*6777b538SAndroid Build Coastguard Workerif (enable_websockets && use_fuzzing_engine) {
74*6777b538SAndroid Build Coastguard Worker  # This is a separate target because //net/server:http_server
75*6777b538SAndroid Build Coastguard Worker  # wants to limit its visibility to a select number of target, but the
76*6777b538SAndroid Build Coastguard Worker  # "fuzzer_test" template expands on iOS to many targets that need to
77*6777b538SAndroid Build Coastguard Worker  # have the "deps" information propagated in order to support "fat"
78*6777b538SAndroid Build Coastguard Worker  # binaries.
79*6777b538SAndroid Build Coastguard Worker  source_set("net_http_server_fuzzer_deps") {
80*6777b538SAndroid Build Coastguard Worker    testonly = true
81*6777b538SAndroid Build Coastguard Worker    visibility = [
82*6777b538SAndroid Build Coastguard Worker      ":net_http_server_fuzzer",
83*6777b538SAndroid Build Coastguard Worker      ":net_http_server_fuzzer_executable",
84*6777b538SAndroid Build Coastguard Worker      ":run_net_http_server_fuzzer",
85*6777b538SAndroid Build Coastguard Worker    ]
86*6777b538SAndroid Build Coastguard Worker    public_deps = [
87*6777b538SAndroid Build Coastguard Worker      ":http_server",
88*6777b538SAndroid Build Coastguard Worker      "//base",
89*6777b538SAndroid Build Coastguard Worker      "//net",
90*6777b538SAndroid Build Coastguard Worker      "//net:net_fuzzer_test_support",
91*6777b538SAndroid Build Coastguard Worker      "//net:test_support",
92*6777b538SAndroid Build Coastguard Worker    ]
93*6777b538SAndroid Build Coastguard Worker  }
94*6777b538SAndroid Build Coastguard Worker
95*6777b538SAndroid Build Coastguard Worker  fuzzer_test("net_http_server_fuzzer") {
96*6777b538SAndroid Build Coastguard Worker    sources = [ "http_server_fuzzer.cc" ]
97*6777b538SAndroid Build Coastguard Worker    deps = [ ":net_http_server_fuzzer_deps" ]
98*6777b538SAndroid Build Coastguard Worker    dict = "//net/data/fuzzer_dictionaries/net_http_server_fuzzer.dict"
99*6777b538SAndroid Build Coastguard Worker    seed_corpus = "//net/data/fuzzer_data/http_server_requests/"
100*6777b538SAndroid Build Coastguard Worker  }
101*6777b538SAndroid Build Coastguard Worker}
102