Revision control
Copy as Markdown
Other Tools
# 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
DIRS += [
"icons",
]
if CONFIG['MOZ_NO_PIE_COMPAT']:
GeckoProgram(CONFIG['MOZ_APP_NAME'] + '-bin')
DIRS += ['no-pie']
else:
GeckoProgram(CONFIG['MOZ_APP_NAME'])
SOURCES += ["nsSuiteApp.cpp"]
LOCAL_INCLUDES += [
"!/build",
"/ipc/contentproc/",
"/toolkit/xre",
"/xpcom/base",
"/xpcom/build",
]
if CONFIG["OS_ARCH"] == "WINNT":
RCINCLUDE = "splash.rc"
DEFINES["MOZ_SUITE"] = True
if CONFIG["LIBFUZZER"]:
USE_LIBS += ["fuzzer"]
LOCAL_INCLUDES += [
"/tools/fuzzing/libfuzzer",
]
if CONFIG["CC_TYPE"] in ("msvc", "clang-cl"):
# Always enter a Windows program through wmain, whether or not we're
# a console application.
WIN32_EXE_LDFLAGS += ["-ENTRY:wmainCRTStartup"]
if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "Darwin":
USE_LIBS += [
"mozsandbox",
]
OS_LIBS += [
"-framework CoreFoundation",
]
if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT":
# For sandbox includes and the include dependencies those have
LOCAL_INCLUDES += [
"/security/sandbox/chromium",
"/security/sandbox/chromium-shim",
]
OS_LIBS += [
"version",
]
USE_LIBS += [
"sandbox_s",
]
OS_LIBS += [
"advapi32",
"winmm",
"user32",
]
DELAYLOAD_DLLS += [
"winmm.dll",
"user32.dll",
]
if CONFIG["OS_ARCH"] == "WINNT":
OS_LIBS += [
"ntdll",
]
if CONFIG["CC_TYPE"] == "msvc":
CFLAGS += ["-guard:cf"]
CXXFLAGS += ["-guard:cf"]
LDFLAGS += ["-guard:cf"]
# Control the default heap size.
# This is the heap returned by GetProcessHeap().
# As we use the CRT heap, the default size is too large and wastes VM.
#
# The default heap size is 1MB on Win32.
# The heap will grow if need be.
#
if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CC_TYPE"] not in ("clang", "gcc"):
LDFLAGS += ["/HEAP:0x40000"]
DisableStlWrapping()
if CONFIG["MOZ_LINKER"]:
OS_LIBS += CONFIG["MOZ_ZLIB_LIBS"]
if CONFIG["HAVE_CLOCK_MONOTONIC"]:
OS_LIBS += CONFIG["REALTIME_LIBS"]
if CONFIG["MOZ_LINUX_32_SSE2_STARTUP_ERROR"]:
DEFINES["MOZ_LINUX_32_SSE2_STARTUP_ERROR"] = True
COMPILE_FLAGS["OS_CXXFLAGS"] = [
f
for f in COMPILE_FLAGS.get("OS_CXXFLAGS", [])
if not f.startswith("-march=") and f not in ("-msse", "-msse2", "-mfpmath=sse")
] + [
"-mno-sse",
"-mno-sse2",
"-mfpmath=387",
]
# For splash.rc
DEFINES["SEAMONKEY_ICO"] = '"%s/%s/icons/windows/main-window.ico"' % (
TOPSRCDIR,
CONFIG["MOZ_BRANDING_DIRECTORY"],
)
DEFINES["HTML_FILE_ICO"] = '"%s/%s/icons/windows/html-file.ico"' % (
TOPSRCDIR,
CONFIG["MOZ_BRANDING_DIRECTORY"],
)
DEFINES["APP_VERSION"] = CONFIG["MOZ_APP_VERSION"]
JS_PREFERENCE_PP_FILES += [
"profile/suite-prefs.js",
]
FINAL_TARGET_FILES += ["blocklist.xml"]
FINAL_TARGET_FILES.defaults += ["permissions"]