da0e39b03a8a34a931a69be5136aed3b440c3041
[platform/upstream/connectedhomeip.git] / src / lib / mdns / BUILD.gn
1 # Copyright (c) 2020 Project CHIP Authors
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 import("//build_overrides/chip.gni")
16 import("${chip_root}/src/platform/device.gni")
17
18 declare_args() {
19   # Set up what advertiser to use for mDNS advertisement
20   chip_mdns_advertiser = "minimal"
21 }
22
23 source_set("platform_header") {
24   sources = [ "platform/Mdns.h" ]
25 }
26
27 static_library("mdns") {
28   public_deps = [
29     ":platform_header",
30     "${chip_root}/src/lib/core",
31     "${chip_root}/src/lib/support",
32   ]
33
34   sources = [ "Advertiser.h" ]
35
36   if (chip_enable_mdns) {
37     _chip_mdns_advertiser = chip_mdns_advertiser
38   } else {
39     _chip_mdns_advertiser = "none"
40   }
41
42   if (_chip_mdns_advertiser == "none") {
43     sources += [
44       "Advertiser_ImplNone.cpp",
45       "Resolver_ImplNone.cpp",
46     ]
47   } else if (_chip_mdns_advertiser == "minimal") {
48     sources += [
49       "Advertiser_ImplMinimalMdns.cpp",
50       "Resolver_ImplNone.cpp",
51     ]
52     public_deps += [ "${chip_root}/src/lib/mdns/minimal" ]
53   } else if (_chip_mdns_advertiser == "platform") {
54     sources += [
55       "Discovery_ImplPlatform.cpp",
56       "Discovery_ImplPlatform.h",
57     ]
58     public_deps += [ "${chip_root}/src/platform" ]
59   } else {
60     assert(false, "Unknown mDNS advertiser implementation.")
61   }
62 }