summaryrefslogtreecommitdiff
path: root/toolkit/mozapps/update/updater/updater-common.build
blob: ce4a219001e8fbf7e1d1da31170f8af8ef35dfe2 (plain)
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
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# 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',
    'bspatch.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',
        'win_dirent.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',
    ]
    USE_LIBS += [
        'updatecommon-standalone',
    ]
    OS_LIBS += [
        'comctl32',
        'ws2_32',
        'shell32',
        'shlwapi',
        'crypt32',
        'advapi32',
    ]
elif CONFIG['OS_ARCH'] == 'Linux' and CONFIG['MOZ_VERIFY_MAR_SIGNATURE']:
    USE_LIBS += [
        'nss',
        'signmar',
        'updatecommon',
    ]
    OS_LIBS += CONFIG['NSPR_LIBS']
else:
    USE_LIBS += [
        'updatecommon',
    ]

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

if CONFIG['MOZ_SYSTEM_BZ2']:
    OS_LIBS += CONFIG['MOZ_BZ2_LIBS']
else:
    USE_LIBS += [
        'bz2',
    ]

if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
    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
DISABLE_STL_WRAPPING = True
for var in ('MAR_CHANNEL_ID', 'MOZ_APP_VERSION'):
    DEFINES[var] = '"%s"' % CONFIG[var]

LOCAL_INCLUDES += [
    '/toolkit/mozapps/update/common',
    '/xpcom/glue',
]

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

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

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