DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (409f3966645a)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
# -*- 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")

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'] == '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',
    ]

    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.
#
# 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)