Source code

Revision control

Copy as Markdown

Other Tools

# -*- 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",
"WindowsOleAut32Initialization.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",
"WindowsOleAut32Initialization.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"