summaryrefslogtreecommitdiffstats
path: root/netwerk/dns/moz.build
blob: c926d14707d15d06e24be4bda7577578904373c4 (plain)
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"]