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 (d1ac49b9eb3e)

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
# -*- 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/.

srcs = [
    'archivereader.cpp',
    'updater.cpp',
]

have_progressui = 0

if CONFIG['MOZ_VERIFY_MAR_SIGNATURE']:
    USE_LIBS += [
        'verifymar',
    ]

if CONFIG['OS_ARCH'] == 'WINNT':
    have_progressui = 1
    srcs += [
        'loaddlls.cpp',
        'progressui_win.cpp',
    ]
    RCINCLUDE = '%supdater.rc' % updater_rel_path
    DEFINES['UNICODE'] = True
    DEFINES['_UNICODE'] = True
    USE_STATIC_LIBS = True

    # Pick up nsWindowsRestart.cpp
    LOCAL_INCLUDES += [
        '/toolkit/xre',
    ]
    OS_LIBS += [
        'comctl32',
        'ws2_32',
        'shell32',
        'shlwapi',
        'crypt32',
        'advapi32',
    ]

USE_LIBS += [
    'bspatch',
    'mar',
    'updatecommon',
    'xz-embedded',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
    have_progressui = 1
    srcs += [
        'progressui_gtk.cpp',
    ]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    have_progressui = 1
    srcs += [
        'launchchild_osx.mm',
        'progressui_osx.mm',
    ]
    OS_LIBS += [
        '-framework Cocoa',
        '-framework Security',
        '-framework SystemConfiguration',
    ]
    UNIFIED_SOURCES += [
        '/toolkit/xre/updaterfileutils_osx.mm',
    ]
    LOCAL_INCLUDES += [
        '/toolkit/xre',
    ]

if have_progressui == 0:
    srcs += [
        'progressui_null.cpp',
    ]

SOURCES += sorted(srcs)

DEFINES['NS_NO_XPCOM'] = True
DisableStlWrapping()
for var in ('MAR_CHANNEL_ID', 'MOZ_APP_VERSION'):
    DEFINES[var] = '"%s"' % CONFIG[var]

LOCAL_INCLUDES += [
    '/toolkit/mozapps/update/common',
    '/xpcom/base', # for nsVersionComparator.cpp
]

DELAYLOAD_DLLS += [
    'crypt32.dll',
    'comctl32.dll',
    'userenv.dll',
    'wsock32.dll',
]

if CONFIG['CC_TYPE'] == 'clang-cl':
    WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup']
elif CONFIG['OS_ARCH'] == 'WINNT':
    WIN32_EXE_LDFLAGS += ['-municode']

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
    CXXFLAGS += CONFIG['TK_CFLAGS']
    OS_LIBS += CONFIG['TK_LIBS']

if CONFIG['CC_TYPE'] == 'gcc':
    CXXFLAGS += ['-Wno-format-truncation']