| 12
 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
 
 | # -*- 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 = ("Toolkit", "Safe Browsing")
TEST_DIRS += ["tests"]
XPIDL_SOURCES += [
    "IUrlClassifierUITelemetry.idl",
    "nsIUrlClassifierDBService.idl",
    "nsIUrlClassifierHashCompleter.idl",
    "nsIUrlClassifierInfo.idl",
    "nsIUrlClassifierPrefixSet.idl",
    "nsIUrlClassifierRemoteSettingsService.idl",
    "nsIUrlClassifierStreamUpdater.idl",
    "nsIUrlClassifierUtils.idl",
    "nsIUrlListManager.idl",
]
XPIDL_MODULE = "url-classifier"
DEFINES["GOOGLE_PROTOBUF_NO_RTTI"] = True
DEFINES["GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER"] = True
UNIFIED_SOURCES += [
    "chromium/safebrowsing.pb.cc",
    "ChunkSet.cpp",
    "Classifier.cpp",
    "LookupCache.cpp",
    "LookupCacheV4.cpp",
    "nsCheckSummedOutputStream.cpp",
    "nsUrlClassifierDBService.cpp",
    "nsUrlClassifierInfo.cpp",
    "nsUrlClassifierProxies.cpp",
    "nsUrlClassifierUtils.cpp",
    "ProtocolParser.cpp",
    "RiceDeltaDecoder.cpp",
    "UrlClassifierTelemetryUtils.cpp",
]
# define conflicting LOG() macros
SOURCES += [
    "nsUrlClassifierPrefixSet.cpp",
    "nsUrlClassifierStreamUpdater.cpp",
    "VariableLengthPrefixSet.cpp",
]
# contains variables that conflict with LookupCache.cpp
SOURCES += [
    "HashStore.cpp",
]
EXTRA_JS_MODULES += [
    "SafeBrowsing.sys.mjs",
    "UrlClassifierHashCompleter.sys.mjs",
    "UrlClassifierLib.sys.mjs",
    "UrlClassifierListManager.sys.mjs",
    "UrlClassifierRemoteSettingsService.sys.mjs",
]
XPCOM_MANIFESTS += [
    "components.conf",
]
EXPORTS += [
    "chromium/safebrowsing.pb.h",
    "Entries.h",
    "LookupCache.h",
    "LookupCacheV4.h",
    "nsUrlClassifierPrefixSet.h",
    "VariableLengthPrefixSet.h",
]
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
    "../build",
    "/xpcom/io",
]
CXXFLAGS += CONFIG["SQLITE_CFLAGS"]
# Suppress warnings in third-party code.
if CONFIG["CC_TYPE"] == "gcc":
    CXXFLAGS += [
        "-Wno-maybe-uninitialized",
    ]
if CONFIG["NIGHTLY_BUILD"] or CONFIG["MOZ_DEBUG"]:
    DEFINES["MOZ_SAFEBROWSING_DUMP_FAILED_UPDATES"] = True
SPHINX_TREES["url-classifier"] = "docs"
with Files("docs/**"):
    SCHEDULES.exclusive = ["docs"]
include("/ipc/chromium/chromium-config.mozbuild")
 |