Backed out changeset dc2df0951f2d (bug 1891616) Backed out changeset be167306c141 (bug 1891616) Backed out changeset 779e43f7bf47 (bug 1891616) Backed out changeset 883ad5151426 (bug 1891616)
177 lines
4.5 KiB
Python
177 lines
4.5 KiB
Python
# -*- 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/.
|
|
|
|
with Files("**"):
|
|
BUG_COMPONENT = ("Firefox", "General")
|
|
|
|
with Files("firefox.exe.manifest"):
|
|
BUG_COMPONENT = ("Core", "Widget: Win32")
|
|
with Files("module.ver"):
|
|
BUG_COMPONENT = ("Core", "Widget: Win32")
|
|
with Files("splash.rc"):
|
|
BUG_COMPONENT = ("Core", "Widget: Win32")
|
|
|
|
with Files("macversion.py"):
|
|
BUG_COMPONENT = ("Core", "Widget: Cocoa")
|
|
with Files("macbuild/**"):
|
|
BUG_COMPONENT = ("Core", "Widget: Cocoa")
|
|
|
|
with Files("moz.build"):
|
|
BUG_COMPONENT = ("Firefox Build System", "General")
|
|
with Files("Makefile.in"):
|
|
BUG_COMPONENT = ("Firefox Build System", "General")
|
|
|
|
with Files("profile/channel-prefs.js"):
|
|
BUG_COMPONENT = ("Firefox", "Installer")
|
|
with Files("profile/firefox.js"):
|
|
BUG_COMPONENT = ("Firefox", "General")
|
|
|
|
if CONFIG["MOZ_MACBUNDLE_NAME"]:
|
|
DIRS += ["macbuild/Contents"]
|
|
|
|
browser_linkage = "standalone"
|
|
if CONFIG["FUZZING_SNAPSHOT"] or CONFIG["AFLFUZZ"]:
|
|
browser_linkage = "dependent"
|
|
|
|
if CONFIG["MOZ_NO_PIE_COMPAT"]:
|
|
GeckoProgram(CONFIG["MOZ_APP_NAME"] + "-bin", linkage=browser_linkage)
|
|
|
|
DIRS += ["no-pie"]
|
|
else:
|
|
GeckoProgram(CONFIG["MOZ_APP_NAME"], linkage=browser_linkage)
|
|
|
|
SOURCES += [
|
|
"nsBrowserApp.cpp",
|
|
]
|
|
|
|
# Neither channel-prefs.js nor firefox.exe want to end up in dist/bin/browser.
|
|
DIST_SUBDIR = ""
|
|
|
|
LOCAL_INCLUDES += [
|
|
"!/build",
|
|
"/toolkit/xre",
|
|
"/xpcom/base",
|
|
"/xpcom/build",
|
|
]
|
|
|
|
if CONFIG["LIBFUZZER"]:
|
|
USE_LIBS += ["fuzzer"]
|
|
LOCAL_INCLUDES += [
|
|
"/tools/fuzzing/libfuzzer",
|
|
]
|
|
elif CONFIG["FUZZING_INTERFACES"]:
|
|
USE_LIBS += ["fuzzer-interface"]
|
|
|
|
if CONFIG["MOZ_GECKODRIVER"]:
|
|
DEFINES["MOZ_GECKODRIVER"] = True
|
|
|
|
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"]
|
|
|
|
if CONFIG["OS_ARCH"] == "WINNT":
|
|
RCINCLUDE = "splash.rc"
|
|
DIRS += [
|
|
"pbproxy",
|
|
"winlauncher",
|
|
]
|
|
USE_LIBS += [
|
|
"winlauncher",
|
|
]
|
|
LOCAL_INCLUDES += [
|
|
"/browser/app/winlauncher",
|
|
]
|
|
OS_LIBS += [
|
|
"advapi32",
|
|
"shell32",
|
|
"uuid",
|
|
]
|
|
DELAYLOAD_DLLS += [
|
|
"advapi32.dll",
|
|
"oleaut32.dll",
|
|
"ole32.dll",
|
|
"rpcrt4.dll",
|
|
"shell32.dll",
|
|
"version.dll",
|
|
]
|
|
|
|
if CONFIG["CC_TYPE"] == "clang-cl":
|
|
libpath_flag = "-LIBPATH:"
|
|
else:
|
|
libpath_flag = "-L"
|
|
|
|
WIN32_EXE_LDFLAGS += [
|
|
libpath_flag + OBJDIR + "/winlauncher/freestanding",
|
|
]
|
|
|
|
# Don't build firefox.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_ARCH"] == "Darwin":
|
|
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",
|
|
]
|
|
|
|
USE_LIBS += [
|
|
"sandbox_s",
|
|
]
|
|
|
|
OS_LIBS += [
|
|
"winmm",
|
|
]
|
|
DELAYLOAD_DLLS += [
|
|
"winmm.dll",
|
|
"user32.dll",
|
|
"usp10.dll",
|
|
]
|
|
|
|
if CONFIG["TARGET_OS"] in ("WINNT", "OSX"):
|
|
DIRS += ["nmhproxy"]
|
|
|
|
# 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.
|
|
#
|
|
# Set it to 256k. See bug 127069.
|
|
if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CC_TYPE"] not in ("clang", "gcc"):
|
|
LDFLAGS += ["/HEAP:0x40000"]
|
|
|
|
DisableStlWrapping()
|
|
|
|
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["OS_CXXFLAGS"]
|
|
if not f.startswith("-march=") and f not in ("-msse", "-msse2", "-mfpmath=sse")
|
|
] + [
|
|
"-mno-sse",
|
|
"-mno-sse2",
|
|
"-mfpmath=387",
|
|
]
|
|
|
|
for icon in ("firefox", "document", "newwindow", "newtab", "pbmode", "document_pdf"):
|
|
DEFINES[icon.upper() + "_ICO"] = '"%s/%s/%s.ico"' % (
|
|
TOPSRCDIR,
|
|
CONFIG["MOZ_BRANDING_DIRECTORY"],
|
|
icon,
|
|
)
|