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/.
7 GeckoProgram("xpcshell", linkage="dependent")
13 if CONFIG["FUZZING_INTERFACES"]:
14 if CONFIG["LIBFUZZER"]:
15 USE_LIBS += ["fuzzer"]
17 USE_LIBS += ["fuzzer-interface"]
19 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
21 "xpcshellMacUtils.mm",
24 include("/ipc/chromium/chromium-config.mozbuild")
30 if CONFIG["CC_TYPE"] == "clang-cl":
31 # Always enter a Windows program through wmain, whether or not we're
32 # a console application.
33 WIN32_EXE_LDFLAGS += ["-ENTRY:wmainCRTStartup"]
35 # DELAYLOAD_DLLS in this block ensure that the DLL blocklist initializes
36 if CONFIG["OS_ARCH"] == "WINNT":
37 if CONFIG["MOZ_SANDBOX"]:
38 # For sandbox includes and the include dependencies those have
40 "/security/sandbox/chromium",
41 "/security/sandbox/chromium-shim",
68 # Don't build xpcshell.exe with CETCOMPAT, because we need to be able to
69 # only enable it for processes that are not using JIT in xul.dll.
70 LINK_FLAGS["CETCOMPAT"] = []
72 if CONFIG["OS_TARGET"] == "Darwin":
74 "-framework Foundation",
77 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
78 CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
79 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
80 OS_LIBS += CONFIG["MOZ_GTK3_LIBS"]