1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 STANDALONE_MAKEFILE
:= 1
8 include $(topsrcdir
)/config
/rules.mk
10 MOZ_PKG_REMOVALS
= $(srcdir)/removed-files.in
12 MOZ_PKG_MANIFEST
= $(srcdir)/package-manifest.in
13 MOZ_PKG_DUPEFLAGS
= -f
$(srcdir)/allowed-dupes.mn
15 DEFINES
+= -DPKG_LOCALE_MANIFEST
=$(topobjdir
)/browser
/installer
/locale-manifest.in
16 MOZ_CHROME_LOCALE_ENTRIES
=@RESPATH@
/browser
/chrome
/ @RESPATH@
/chrome
/
18 # Some files have been already bundled with xulrunner
19 MOZ_PKG_FATAL_WARNINGS
= 1
21 # When packaging an artifact build not all xpt files expected by the
22 # packager will be present.
23 ifdef MOZ_ARTIFACT_BUILDS
24 MOZ_PKG_FATAL_WARNINGS
=
27 DEFINES
+= -DMOZ_APP_NAME
=$(MOZ_APP_NAME
) -DPREF_DIR
=$(PREF_DIR
)
30 DEFINES
+= -DMOZ_DEBUG
=1
32 ifdef MOZ_LAYOUT_DEBUGGER
33 DEFINES
+= -DMOZ_LAYOUT_DEBUGGER
=1
36 ifeq ($(MOZ_WIDGET_TOOLKIT
),gtk
)
37 DEFINES
+= -DMOZ_GTK
=1
41 DEFINES
+= -DMOZ_SYSTEM_NSPR
=1
45 DEFINES
+= -DMOZ_SYSTEM_NSS
=1
48 ifdef MOZ_ARTIFACT_BUILDS
49 DEFINES
+= -DMOZ_ARTIFACT_BUILDS
=1
52 ifdef MOZ_EME_WIN32_ARTIFACT
53 DEFINES
+= -DMOZ_EME_WIN32_ARTIFACT
=1
58 ifdef MOZ_ANGLE_RENDERER
59 DEFINES
+= -DMOZ_ANGLE_RENDERER
=$(MOZ_ANGLE_RENDERER
)
60 ifdef MOZ_D3DCOMPILER_VISTA_DLL
61 DEFINES
+= -DMOZ_D3DCOMPILER_VISTA_DLL
=$(MOZ_D3DCOMPILER_VISTA_DLL
)
65 ifdef MOZ_ENABLE_SKIA_PDF
66 DEFINES
+= -DMOZ_ENABLE_SKIA_PDF
=$(MOZ_ENABLE_SKIA_PDF
)
69 DEFINES
+= -DMOZ_CHILD_PROCESS_NAME
=$(MOZ_CHILD_PROCESS_NAME
)
71 # Set MSVC dlls version to package, if any.
72 ifdef MOZ_NO_DEBUG_RTL
73 ifdef WIN32_REDIST_DIR
74 ifndef MOZ_ARTIFACT_BUILDS
75 DEFINES
+= -DMOZ_PACKAGE_MSVC_DLLS
=1
76 DEFINES
+= -DMSVC_C_RUNTIME_DLL
=$(MSVC_C_RUNTIME_DLL
)
77 DEFINES
+= -DMSVC_CXX_RUNTIME_DLL
=$(MSVC_CXX_RUNTIME_DLL
)
79 ifdef WIN_UCRT_REDIST_DIR
80 DEFINES
+= -DMOZ_PACKAGE_WIN_UCRT_DLLS
=1
85 ifneq (,$(filter WINNT Darwin Android
,$(OS_TARGET
)))
86 DEFINES
+= -DMOZ_SHARED_MOZGLUE
=1
90 DEFINES
+= -DNECKO_WIFI
94 DEFINES
+= -DHAVE_MAKENSISU
=1
97 ifdef MOZ_DEFAULT_BROWSER_AGENT
98 DEFINES
+= -DMOZ_DEFAULT_BROWSER_AGENT
=1
101 ifdef MOZ_BACKGROUNDTASKS
102 DEFINES
+= -DMOZ_BACKGROUNDTASKS
=1
105 ifeq (cocoa
,$(MOZ_WIDGET_TOOLKIT
))
106 MOZ_PKG_MAC_DSSTORE
=$(topsrcdir
)/$(MOZ_BRANDING_DIRECTORY
)/dsstore
107 MOZ_PKG_MAC_BACKGROUND
=$(topsrcdir
)/$(MOZ_BRANDING_DIRECTORY
)/background.png
108 MOZ_PKG_MAC_ICON
=$(topsrcdir
)/$(MOZ_BRANDING_DIRECTORY
)/disk.icns
109 MOZ_PKG_MAC_EXTRA
=--symlink
'/Applications:/ '
112 # The packager minifies two different types of files: non-JS (mostly property
113 # files for l10n), and JS. Setting MOZ_PACKAGER_MINIFY only minifies the
114 # former. We don't yet minify JS, due to concerns about debuggability.
116 # Also, the JS minification setup really only works correctly on Android:
117 # we need extra setup to use the newly-built shell for Linux and Windows,
118 # and Mac requires some extra care due to cross-compilation.
119 MOZ_PACKAGER_MINIFY
=1
121 include $(topsrcdir
)/toolkit
/mozapps
/installer
/packager.mk
123 ifeq (bundle
, $(MOZ_FS_LAYOUT
))
124 BINPATH
= $(_BINPATH
)
125 DEFINES
+= -DAPPNAME
='$(_APPNAME)'
127 # Every other platform just winds up in dist/bin
130 DEFINES
+= -DBINPATH
='$(BINPATH)'
132 ifeq (cocoa
,$(MOZ_WIDGET_TOOLKIT
))
133 RESPATH
= $(_APPNAME
)/Contents
/Resources
137 DEFINES
+= -DRESPATH
='$(RESPATH)'
139 LPROJ_ROOT
= $(firstword $(subst -, ,$(AB_CD
)))
140 ifeq (cocoa
,$(MOZ_WIDGET_TOOLKIT
))
141 ifeq (zh-TW
,$(AB_CD
))
142 LPROJ_ROOT
:= $(subst -,_
,$(AB_CD
))
145 DEFINES
+= -DLPROJ_ROOT
=$(LPROJ_ROOT
)
148 DEFINES
+= -DCLANG_CXX
151 DEFINES
+= -DCLANG_CL
154 ifdef LLVM_SYMBOLIZER
155 DEFINES
+= -DLLVM_SYMBOLIZER
=$(notdir $(LLVM_SYMBOLIZER
))
157 ifdef MOZ_CLANG_RT_ASAN_LIB_PATH
158 DEFINES
+= -DMOZ_CLANG_RT_ASAN_LIB
=$(notdir $(MOZ_CLANG_RT_ASAN_LIB_PATH
))
160 ifdef WIN_DIA_SDK_BIN_DIR
161 DEFINES
+= -DWIN_DIA_SDK_BIN_DIR
=1
164 # Builds using the hybrid FasterMake/RecursiveMake backend will
165 # fail to produce a langpack. See bug 1255096.
167 ifeq (,$(filter FasterMake
+RecursiveMake
,$(BUILD_BACKENDS
)))
168 $(MAKE
) -C
$(DEPTH
)/browser
/locales langpack
171 ifeq (WINNT
,$(OS_ARCH
))
174 PKGCOMP_FIND_OPTS
= -L
176 ifeq (Darwin
, $(OS_ARCH
))
177 FINDPATH
= $(_APPNAME
)/Contents
/MacOS
183 cd
$(DIST
); find
$(PKGCOMP_FIND_OPTS
) '$(FINDPATH)' -type f |
sort > bin-list.txt
184 $(call py_action
,preprocessor
,$(DEFINES
) $(ACDEFINES
) $(MOZ_PKG_MANIFEST
)) | grep
'^$(BINPATH)' | sed
-e
's/^\///' |
sort > $(DIST
)/pack-list.txt
185 -diff
-u
$(DIST
)/pack-list.txt
$(DIST
)/bin-list.txt
186 rm -f
$(DIST
)/pack-list.txt
$(DIST
)/bin-list.txt
188 ifdef ENABLE_WEBDRIVER
189 DEFINES
+= -DENABLE_WEBDRIVER
=1