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
|
# -*- 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/.
Library("dllservices_mozglue")
if CONFIG["MOZ_WIDGET_TOOLKIT"]:
SOURCES += [
# This file contains a |using namespace mozilla;| statement
"WindowsDllBlocklist.cpp",
]
UNIFIED_SOURCES += [
"Authenticode.cpp",
"LoaderObserver.cpp",
"ModuleLoadFrame.cpp",
"WindowsBCryptInitialization.cpp",
"WindowsFallbackLoaderAPI.cpp",
"WindowsMsctfInitialization.cpp",
"WindowsStackWalkInitialization.cpp",
]
if not CONFIG["JS_STANDALONE"]:
UNIFIED_SOURCES += [
"CacheNtDllThunk.cpp",
]
OS_LIBS += [
"crypt32",
"ntdll",
"version",
"wintrust",
]
DELAYLOAD_DLLS += [
"crypt32.dll",
"wintrust.dll",
]
EXPORTS += [
"nsWindowsDllInterceptor.h",
]
EXPORTS.mozilla += [
"Authenticode.h",
"CacheNtDllThunk.h",
"LoaderAPIInterfaces.h",
"ModuleLoadInfo.h",
"WindowsBCryptInitialization.h",
"WindowsDllBlocklist.h",
"WindowsDllBlocklistCommon.h",
"WindowsDllBlocklistInfo.h",
"WindowsMsctfInitialization.h",
"WindowsStackWalkInitialization.h",
]
EXPORTS.mozilla.glue += [
"SharedSection.h",
"WindowsDllServices.h",
]
# Generate DLL Blocklists
blocklist_header_types = ["A11y", "Launcher", "Legacy", "Test"]
blocklist_file_leaf_tpl = "WindowsDllBlocklist{0}Defs.h"
blocklist_files = tuple(
[blocklist_file_leaf_tpl.format(type) for type in blocklist_header_types]
)
GeneratedFile(
*blocklist_files,
script="gen_dll_blocklist_defs.py",
entry_point="gen_blocklists",
inputs=["WindowsDllBlocklistDefs.in"]
)
EXPORTS.mozilla += ["!" + hdr for hdr in blocklist_files]
DIRS += [
"interceptor",
]
FINAL_LIBRARY = "mozglue"
|