1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
with Files("**"):
BUG_COMPONENT = ("Core", "Networking: DNS")
DIRS += ["tests"]
XPIDL_SOURCES += [
"nsIDNSAdditionalInfo.idl",
"nsIDNSByTypeRecord.idl",
"nsIDNSListener.idl",
"nsIDNSRecord.idl",
"nsIDNSService.idl",
"nsIEffectiveTLDService.idl",
"nsIIDNService.idl",
"nsINativeDNSResolverOverride.idl",
"nsITRRSkipReason.idl",
"nsPIDNSService.idl",
]
XPIDL_MODULE = "necko_dns"
EXTRA_JS_MODULES["netwerk-dns"] += [
"PublicSuffixList.sys.mjs",
]
XPCSHELL_TESTS_MANIFESTS += ["tests/unit/xpcshell.toml"]
EXPORTS += [
"nsEffectiveTLDService.h",
]
EXPORTS.mozilla.net += [
"ChildDNSService.h",
"DNS.h",
"DNSByTypeRecord.h",
"DNSListenerProxy.h",
"DNSPacket.h",
"DNSRequestBase.h",
"DNSRequestChild.h",
"DNSRequestParent.h",
"DNSServiceBase.h",
"HTTPSSVC.h",
"IDNBlocklistUtils.h",
"NativeDNSResolverOverrideChild.h",
"NativeDNSResolverOverrideParent.h",
"TRRService.h",
"TRRServiceBase.h",
"TRRServiceChild.h",
"TRRServiceParent.h",
]
SOURCES += [
"GetAddrInfo.cpp", # Undefines UNICODE
"nsEffectiveTLDService.cpp", # Excluded from UNIFIED_SOURCES due to special build flags.
]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
SOURCES += ["PlatformDNSWin.cpp"]
elif CONFIG["OS_TARGET"] == "Linux" or CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
SOURCES += ["PlatformDNSUnix.cpp"]
OS_LIBS += ["resolv"]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
SOURCES += ["PlatformDNSAndroid.cpp"]
else:
DEFINES["MOZ_NO_HTTPS_IMPL"] = 1
UNIFIED_SOURCES += [
"ChildDNSService.cpp",
"DNS.cpp",
"DNSAdditionalInfo.cpp",
"DNSListenerProxy.cpp",
"DNSPacket.cpp",
"DNSRequestChild.cpp",
"DNSRequestParent.cpp",
"DNSServiceBase.cpp",
"DNSUtils.cpp",
"HostRecordQueue.cpp",
"HTTPSSVC.cpp",
"IDNBlocklistUtils.cpp",
"NativeDNSResolverOverrideChild.cpp",
"NativeDNSResolverOverrideParent.cpp",
"nsDNSService2.cpp",
"nsHostRecord.cpp",
"nsHostResolver.cpp",
"nsIDNService.cpp",
"punycode.c",
"TRR.cpp",
"TRRQuery.cpp",
"TRRService.cpp",
"TRRServiceBase.cpp",
"TRRServiceChild.cpp",
"TRRServiceParent.cpp",
]
IPDL_SOURCES = [
"PDNSRequest.ipdl",
"PDNSRequestParams.ipdlh",
"PNativeDNSResolverOverride.ipdl",
"PTRRService.ipdl",
]
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
GeneratedFile(
"etld_data.inc", script="prepare_tlds.py", inputs=["effective_tld_names.dat"]
)
# need to include etld_data.inc
LOCAL_INCLUDES += [
"/netwerk/base",
"/netwerk/ipc",
"/netwerk/protocol/http",
]
USE_LIBS += ["icu"]
|