summaryrefslogtreecommitdiffstats
path: root/js/xpconnect/shell/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'js/xpconnect/shell/moz.build')
-rw-r--r--js/xpconnect/shell/moz.build77
1 files changed, 77 insertions, 0 deletions
diff --git a/js/xpconnect/shell/moz.build b/js/xpconnect/shell/moz.build
new file mode 100644
index 0000000000..de3b050b79
--- /dev/null
+++ b/js/xpconnect/shell/moz.build
@@ -0,0 +1,77 @@
+# -*- 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/.
+
+GeckoProgram("xpcshell", linkage="dependent")
+
+SOURCES += [
+ "xpcshell.cpp",
+]
+
+if CONFIG["LIBFUZZER"]:
+ USE_LIBS += ["fuzzer"]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
+ SOURCES += [
+ "xpcshellMacUtils.mm",
+ ]
+
+include("/ipc/chromium/chromium-config.mozbuild")
+
+LOCAL_INCLUDES += [
+ "/toolkit/xre",
+]
+
+if CONFIG["CC_TYPE"] == "clang-cl":
+ # Always enter a Windows program through wmain, whether or not we're
+ # a console application.
+ WIN32_EXE_LDFLAGS += ["-ENTRY:wmainCRTStartup"]
+
+# DELAYLOAD_DLLS in this block ensure that the DLL blocklist initializes
+if CONFIG["OS_ARCH"] == "WINNT":
+ if CONFIG["MOZ_SANDBOX"]:
+ # For sandbox includes and the include dependencies those have
+ LOCAL_INCLUDES += [
+ "/security/sandbox/chromium",
+ "/security/sandbox/chromium-shim",
+ ]
+
+ OS_LIBS += [
+ "advapi32",
+ "user32",
+ "version",
+ "winmm",
+ ]
+
+ USE_LIBS += [
+ "sandbox_s",
+ ]
+
+ DELAYLOAD_DLLS += [
+ "winmm.dll",
+ "user32.dll",
+ ]
+
+ OS_LIBS += [
+ "ntdll",
+ ]
+
+ DELAYLOAD_DLLS += [
+ "xul.dll",
+ ]
+
+ # Don't build xpcshell.exe with CETCOMPAT, because we need to be able to
+ # only enable it for processes that are not using JIT in xul.dll.
+ LINK_FLAGS["CETCOMPAT"] = []
+
+if CONFIG["OS_TARGET"] == "Darwin":
+ OS_LIBS += [
+ "-framework Foundation",
+ ]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
+ CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+ CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+ OS_LIBS += CONFIG["MOZ_GTK3_LIBS"]