# 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 include $(topsrcdir)/config/rules.mk MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in MOZ_PKG_MANIFEST = $(srcdir)/package-manifest.in # Be fatal, except when building with XULRunner which already bundles some files. ifndef SYSTEM_LIBXUL MOZ_PKG_FATAL_WARNINGS = 1 endif DEFINES += -DPKG_LOCALE_MANIFEST=$(topobjdir)/comm/suite/installer/locale-manifest.in MOZ_CHROME_LOCALE_ENTRIES=@RESPATH@/chrome/ MOZ_PKG_DUPEFLAGS = \ -w \ -f $(srcdir)/allowed-dupes.mn \ -f $(topsrcdir)/browser/installer/allowed-dupes.mn \ $(NULL) MOZ_NONLOCALIZED_PKG_LIST = \ xpcom \ browser \ mail \ $(NULL) MOZ_LOCALIZED_PKG_LIST = \ $(AB_CD) \ $(NULL) DEFINES += -DMOZ_APP_NAME=$(MOZ_APP_NAME) -DPREF_DIR=$(PREF_DIR) DEFINES += -DJAREXT= ifdef ENABLE_TESTS DEFINES += -DENABLE_TESTS=1 endif 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 NIGHTLY_BUILD DEFINES += -DNIGHTLY_BUILD=1 endif ifdef MOZ_DEBUG DEFINES += -DMOZ_DEBUG=1 endif ifeq ($(MOZ_WIDGET_TOOLKIT),gtk) DEFINES += -DMOZ_GTK=1 endif ifdef MOZ_DEBUGQA DEFINES += -DMOZ_PACKAGE_DEBUGQA=1 endif ifdef MOZ_IRC DEFINES += -DMOZ_IRC=1 endif ifdef MOZ_UPDATER DEFINES += -DMOZ_UPDATER=1 endif ifdef MOZ_SYSTEM_NSPR DEFINES += -DMOZ_SYSTEM_NSPR=1 endif ifdef MOZ_SYSTEM_NSS DEFINES += -DMOZ_SYSTEM_NSS=1 endif ifdef NECKO_WIFI DEFINES += -DNECKO_WIFI=1 endif ifdef MOZ_BUNDLED_FONTS DEFINES += -DMOZ_BUNDLED_FONTS=1 endif # Set MSVC dlls version to package, if any. # With VS2015+ it does not make sense to define the ucrt libs without # the base c++ libs and vice versa. ifdef MOZ_NO_DEBUG_RTL ifdef WIN32_REDIST_DIR ifdef WIN_UCRT_REDIST_DIR DEFINES += -DMOZ_PACKAGE_MSVC_DLLS=1 DEFINES += -DMSVC_C_RUNTIME_DLL=$(MSVC_C_RUNTIME_DLL) DEFINES += -DMSVC_CXX_RUNTIME_DLL=$(MSVC_CXX_RUNTIME_DLL) DEFINES += -DMOZ_PACKAGE_WIN_UCRT_DLLS=1 endif endif endif ifneq (,$(filter WINNT Darwin Android,$(OS_TARGET))) DEFINES += -DMOZ_SHARED_MOZGLUE=1 endif ifneq (en-US, $(AB_CD)) DEFINES += -DLOCALE_BUILD=1 endif DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) ifdef MAKENSISU DEFINES += -DHAVE_MAKENSISU=1 endif ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) 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 NON_OMNIJAR_FILES = \ defaults/messenger/mailViews.dat \ defaults/profile/panels.rdf \ defaults/profile/mimeTypes.rdf \ defaults/profile/chrome/userChrome-example.css \ defaults/profile/chrome/userContent-example.css \ $(NULL) include $(topsrcdir)/toolkit/mozapps/installer/packager.mk ifeq (Darwin, $(OS_ARCH)) BINPATH = $(_BINPATH) DEFINES += -DAPPNAME='$(_APPNAME)' else 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 libs:: $(MAKE) -C $(topobjdir)/comm/suite/locales langpack 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:: $(MOZ_PKG_MANIFEST) 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 # The comm-* source stamp is already there. PLATFORM_SOURCE_STAMP = $(firstword $(shell hg -R "$(topsrcdir)" parent --template="{node|short}\n" 2>/dev/null)) PLATFORM_SOURCE_REPO = $(shell hg -R "$(topsrcdir)" showconfig paths.default 2>/dev/null | sed -e "s/^ssh:/https:/") make-sourcestamp-file:: @echo "$(PLATFORM_SOURCE_REPO)/rev/$(PLATFORM_SOURCE_STAMP)" >> $(MOZ_SOURCESTAMP_FILE)