summaryrefslogtreecommitdiffstats
path: root/browser/installer/Makefile.in
blob: b861ad214a6499be68ce70918cfbf9284249a1f5 (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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# 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/.

STANDALONE_MAKEFILE := 1
DIST_SUBDIR := browser

include $(topsrcdir)/config/rules.mk

MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in

MOZ_PKG_MANIFEST = $(srcdir)/package-manifest.in
MOZ_PKG_DUPEFLAGS = -f $(srcdir)/allowed-dupes.mn

DEFINES += -DPKG_LOCALE_MANIFEST=$(topobjdir)/browser/installer/locale-manifest.in
MOZ_CHROME_LOCALE_ENTRIES=@RESPATH@/browser/chrome/ @RESPATH@/chrome/

# Some files have been already bundled with xulrunner
MOZ_PKG_FATAL_WARNINGS = 1

# When packaging an artifact build not all xpt files expected by the
# packager will be present.
ifdef MOZ_ARTIFACT_BUILDS
MOZ_PKG_FATAL_WARNINGS =
endif

DEFINES += -DMOZ_APP_NAME=$(MOZ_APP_NAME) -DPREF_DIR=$(PREF_DIR)

ifdef MOZ_DEBUG
DEFINES += -DMOZ_DEBUG=1
endif
ifdef MOZ_LAYOUT_DEBUGGER
DEFINES += -DMOZ_LAYOUT_DEBUGGER=1
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk)
DEFINES += -DMOZ_GTK=1
endif

ifdef MOZ_SYSTEM_NSPR
DEFINES += -DMOZ_SYSTEM_NSPR=1
endif

ifdef MOZ_SYSTEM_NSS
DEFINES += -DMOZ_SYSTEM_NSS=1
endif

ifdef MOZ_ARTIFACT_BUILDS
DEFINES += -DMOZ_ARTIFACT_BUILDS=1
endif

ifdef MOZ_EME_WIN32_ARTIFACT
DEFINES += -DMOZ_EME_WIN32_ARTIFACT=1
endif

DEFINES += -DJAREXT=

ifdef MOZ_ANGLE_RENDERER
DEFINES += -DMOZ_ANGLE_RENDERER=$(MOZ_ANGLE_RENDERER)
ifdef MOZ_D3DCOMPILER_VISTA_DLL
DEFINES += -DMOZ_D3DCOMPILER_VISTA_DLL=$(MOZ_D3DCOMPILER_VISTA_DLL)
endif
endif

ifdef MOZ_ENABLE_SKIA_PDF
DEFINES += -DMOZ_ENABLE_SKIA_PDF=$(MOZ_ENABLE_SKIA_PDF)
endif

DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)

# Set MSVC dlls version to package, if any.
ifdef MOZ_NO_DEBUG_RTL
ifdef WIN32_REDIST_DIR
ifndef MOZ_ARTIFACT_BUILDS
DEFINES += -DMOZ_PACKAGE_MSVC_DLLS=1
DEFINES += -DMSVC_C_RUNTIME_DLL=$(MSVC_C_RUNTIME_DLL)
DEFINES += -DMSVC_CXX_RUNTIME_DLL=$(MSVC_CXX_RUNTIME_DLL)
endif
ifdef WIN_UCRT_REDIST_DIR
DEFINES += -DMOZ_PACKAGE_WIN_UCRT_DLLS=1
endif
endif
endif

ifneq (,$(filter WINNT Darwin Android,$(OS_TARGET)))
DEFINES += -DMOZ_SHARED_MOZGLUE=1
endif

ifdef NECKO_WIFI
DEFINES += -DNECKO_WIFI
endif

ifdef MAKENSISU
DEFINES += -DHAVE_MAKENSISU=1
endif

ifdef MOZ_DEFAULT_BROWSER_AGENT
DEFINES += -DMOZ_DEFAULT_BROWSER_AGENT=1
endif

ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
MOZ_PKG_MAC_DSSTORE=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/dsstore
MOZ_PKG_MAC_BACKGROUND=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/background.png
MOZ_PKG_MAC_ICON=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/disk.icns
MOZ_PKG_MAC_EXTRA=--symlink '/Applications:/ '
endif

# The packager minifies two different types of files: non-JS (mostly property
# files for l10n), and JS.  Setting MOZ_PACKAGER_MINIFY only minifies the
# former.  We don't yet minify JS, due to concerns about debuggability.
#
# Also, the JS minification setup really only works correctly on Android:
# we need extra setup to use the newly-built shell for Linux and Windows,
# and Mac requires some extra care due to cross-compilation.
MOZ_PACKAGER_MINIFY=1

include $(topsrcdir)/toolkit/mozapps/installer/packager.mk

ifeq (bundle, $(MOZ_FS_LAYOUT))
BINPATH = $(_BINPATH)
DEFINES += -DAPPNAME='$(_APPNAME)'
else
# Every other platform just winds up in dist/bin
BINPATH = bin
endif
DEFINES += -DBINPATH='$(BINPATH)'

ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
RESPATH = $(_APPNAME)/Contents/Resources
else
RESPATH = $(BINPATH)
endif
DEFINES += -DRESPATH='$(RESPATH)'

LPROJ_ROOT = $(firstword $(subst -, ,$(AB_CD)))
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
ifeq (zh-TW,$(AB_CD))
LPROJ_ROOT := $(subst -,_,$(AB_CD))
endif
endif
DEFINES += -DLPROJ_ROOT=$(LPROJ_ROOT)

ifdef CLANG_CXX
DEFINES += -DCLANG_CXX
endif
ifdef CLANG_CL
DEFINES += -DCLANG_CL
endif

ifdef LLVM_SYMBOLIZER
DEFINES += -DLLVM_SYMBOLIZER=$(notdir $(LLVM_SYMBOLIZER))
endif
ifdef MOZ_CLANG_RT_ASAN_LIB_PATH
DEFINES += -DMOZ_CLANG_RT_ASAN_LIB=$(notdir $(MOZ_CLANG_RT_ASAN_LIB_PATH))
endif
ifdef WIN_DIA_SDK_BIN_DIR
DEFINES += -DWIN_DIA_SDK_BIN_DIR=1
endif

# Builds using the hybrid FasterMake/RecursiveMake backend will
# fail to produce a langpack. See bug 1255096.
libs::
ifeq (,$(filter FasterMake+RecursiveMake,$(BUILD_BACKENDS)))
	$(MAKE) -C $(DEPTH)/browser/locales langpack
endif

ifeq (WINNT,$(OS_ARCH))
PKGCOMP_FIND_OPTS =
else
PKGCOMP_FIND_OPTS = -L
endif
ifeq (Darwin, $(OS_ARCH))
FINDPATH = $(_APPNAME)/Contents/MacOS
else
FINDPATH=bin
endif

package-compare::
	cd $(DIST); find $(PKGCOMP_FIND_OPTS) '$(FINDPATH)' -type f | sort > bin-list.txt
	$(call py_action,preprocessor,$(DEFINES) $(ACDEFINES) $(MOZ_PKG_MANIFEST)) | grep '^$(BINPATH)' | sed -e 's/^\///' | sort > $(DIST)/pack-list.txt
	-diff -u $(DIST)/pack-list.txt $(DIST)/bin-list.txt
	rm -f $(DIST)/pack-list.txt $(DIST)/bin-list.txt

ifdef ENABLE_MARIONETTE
DEFINES += -DENABLE_MARIONETTE=1
endif