1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2# vim: set filetype=python: 3# This Source Code Form is subject to the terms of the Mozilla Public 4# License, v. 2.0. If a copy of the MPL was not distributed with this 5# file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7DIRS += [ 8 'mdns', 9] 10 11XPIDL_SOURCES += [ 12 'nsIDNSListener.idl', 13 'nsIDNSRecord.idl', 14 'nsIDNSService.idl', 15 'nsIEffectiveTLDService.idl', 16 'nsIIDNService.idl', 17 'nsPIDNSService.idl', 18] 19 20XPIDL_MODULE = 'necko_dns' 21 22EXPORTS.mozilla.net += [ 23 'ChildDNSService.h', 24 'DNS.h', 25 'DNSListenerProxy.h', 26 'DNSRequestChild.h', 27 'DNSRequestParent.h', 28 'PDNSParams.h', 29] 30 31SOURCES += [ 32 'nsEffectiveTLDService.cpp', # Excluded from UNIFIED_SOURCES due to special build flags. 33 'nsHostResolver.cpp', # Redefines LOG 34] 35 36UNIFIED_SOURCES += [ 37 'ChildDNSService.cpp', 38 'DNS.cpp', 39 'DNSListenerProxy.cpp', 40 'DNSRequestChild.cpp', 41 'DNSRequestParent.cpp', 42 'GetAddrInfo.cpp', 43 'nsDNSService2.cpp', 44 'nsIDNService.cpp', 45 'punycode.c', 46] 47 48IPDL_SOURCES = [ 49 'PDNSRequest.ipdl', 50 'PDNSRequestParams.ipdlh', 51] 52 53include('/ipc/chromium/chromium-config.mozbuild') 54 55FINAL_LIBRARY = 'xul' 56 57GENERATED_FILES = [ 58 'etld_data.inc', 59] 60etld_data = GENERATED_FILES['etld_data.inc'] 61etld_data.script = 'prepare_tlds.py' 62etld_data.inputs = ['effective_tld_names.dat'] 63 64# need to include etld_data.inc 65LOCAL_INCLUDES += [ 66 '/netwerk/base', 67] 68 69if CONFIG['MOZ_SYSTEM_HARFBUZZ']: 70 CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] 71 72if CONFIG['ENABLE_INTL_API']: 73 DEFINES['IDNA2008'] = True 74 USE_LIBS += ['icu'] 75else: 76 UNIFIED_SOURCES += [ 77 'nameprep.c', 78 ] 79 80if CONFIG['GNU_CXX']: 81 CXXFLAGS += ['-Wno-error=shadow'] 82