зеркало из https://github.com/mozilla/gecko-dev.git
139 строки
3.7 KiB
Python
139 строки
3.7 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("blocklist.xml"):
|
|
BUG_COMPONENT = ("Toolkit", "Blocklist Implementation")
|
|
|
|
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_NO_PIE_COMPAT']:
|
|
GeckoProgram(CONFIG['MOZ_APP_NAME'] + '-bin')
|
|
|
|
DIRS += ['no-pie']
|
|
else:
|
|
GeckoProgram(CONFIG['MOZ_APP_NAME'])
|
|
|
|
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',
|
|
]
|
|
|
|
if CONFIG['ENABLE_GECKODRIVER']:
|
|
DEFINES['MOZ_GECKODRIVER'] = True
|
|
|
|
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['OS_ARCH'] == 'WINNT':
|
|
RCINCLUDE = 'splash.rc'
|
|
DEFINES['MOZ_PHOENIX'] = True
|
|
DIRS += [
|
|
'winlauncher',
|
|
]
|
|
USE_LIBS += [
|
|
'winlauncher',
|
|
]
|
|
LOCAL_INCLUDES += [
|
|
'/browser/app/winlauncher',
|
|
]
|
|
DELAYLOAD_DLLS += [
|
|
'oleaut32.dll',
|
|
'ole32.dll',
|
|
]
|
|
|
|
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'Darwin':
|
|
USE_LIBS += [
|
|
'mozsandbox',
|
|
]
|
|
|
|
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',
|
|
]
|
|
|
|
DELAYLOAD_DLLS += [
|
|
'winmm.dll',
|
|
'user32.dll',
|
|
]
|
|
|
|
# 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['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 icon in ('firefox', 'document', 'newwindow', 'newtab', 'pbmode'):
|
|
DEFINES[icon.upper() + '_ICO'] = '"%s/%s/%s.ico"' % (
|
|
TOPSRCDIR, CONFIG['MOZ_BRANDING_DIRECTORY'], icon)
|