mail/installer/Makefile.in
author Geoff Lankow <geoff@darktrojan.net>
Thu, 11 Oct 2018 19:12:45 +1300
changeset 68102 0ada7194b13eac05e0c975aeed32e1effe58a12e
parent 61660 735d432148d7e2c806e217aafd92befba0d25442
child 64578 bebf35690cf2eee2df493fa74ccb799735f40d22
child 65844 d85b5fc4d0604baeba7cd2aeb2f9e052f81e47ac
child 65848 40e78e8e935f75ea377feeb5e7e5dd1e341341d5
child 67373 57c9b9ee77c2d48b59aca9bf00447c09a704f240
child 67893 72cfed209ebe92d34df5e849afd37dbe0b1b99af
child 68888 01d80e87f75ee797c5e61ead98081deaa2107703
permissions -rw-r--r--
Bug 1496632 - Move existing add-on installation UI to notification panels

# 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 := mail  # Not sure why TB is not using this

include $(moztopsrcdir)/config/rules.mk

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

MOZ_PKG_MANIFEST = $(srcdir)/package-manifest.in
# Some files have been already bundled with xulrunner
ifndef SYSTEM_LIBXUL
MOZ_PKG_FATAL_WARNINGS = 1
endif

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

MOZ_PKG_DUPEFLAGS = \
	-f $(srcdir)/allowed-dupes.mn \
	-f $(moztopsrcdir)/browser/installer/allowed-dupes.mn \
	$(NULL)

MOZ_NONLOCALIZED_PKG_LIST = \
	xpcom \
	mail \
	newsblog \
	offline \
	$(NULL)

MOZ_LOCALIZED_PKG_LIST = $(AB_CD)

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

ifdef NIGHTLY_BUILD
DEFINES += -DNIGHTLY_BUILD=1
endif

ifdef MOZ_CALENDAR
DEFINES += -DMOZ_CALENDAR=1
endif

ifdef MOZ_DEBUG
DEFINES += -DMOZ_DEBUG=1
endif

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

ifdef _MSC_VER
DEFINES += -D_MSC_VER=$(_MSC_VER)
endif

ifdef MOZ_SYSTEM_NSPR
DEFINES += -DMOZ_SYSTEM_NSPR=1
endif

ifdef MOZ_SYSTEM_NSS
DEFINES += -DMOZ_SYSTEM_NSS=1
endif

ifdef NSS_DISABLE_DBM
DEFINES += -DNSS_DISABLE_DBM=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_UPDATER
DEFINES += -DMOZ_UPDATER=1
endif

DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)

ifdef MOZ_LDAP_XPCOM
DEFINES += -DMOZ_LDAP_XPCOM=1
endif

# Set MSVC dlls version to package, if any.
ifdef MOZ_NO_DEBUG_RTL
ifdef WIN32_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)
endif
ifdef WIN_UCRT_REDIST_DIR
DEFINES += -DMOZ_PACKAGE_WIN_UCRT_DLLS=1
endif
endif

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

ifdef NECKO_WIFI
DEFINES += -DNECKO_WIFI
endif

ifdef MOZ_BUNDLED_FONTS
DEFINES += -DMOZ_BUNDLED_FONTS=1
endif

ifdef MAKENSISU
DEFINES += -DHAVE_MAKENSISU=1
endif

ifdef MOZ_PREF_EXTENSIONS
DEFINES += -DMOZ_PREF_EXTENSIONS=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

NON_OMNIJAR_FILES = defaults/messenger/mailViews.dat

include $(moztopsrcdir)/toolkit/mozapps/installer/signing.mk
include $(moztopsrcdir)/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 MOZ_SYSTEM_ICU
DEFINES += -DMOZ_SYSTEM_ICU
endif

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

libs::
	$(MAKE) -C $(commtopobjdir)/mail/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 "$(moztopsrcdir)" parent --template="{node}\n" 2>/dev/null))
PLATFORM_SOURCE_REPO = $(shell hg -R "$(moztopsrcdir)" 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)