DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (341e6b4a9882)

VCS Links

Line Code
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 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
# 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_P = $(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

MOZ_PKG_DUPEFLAGS = \
	-w \
	-f $(srcdir)/allowed-dupes.mn \
	-f $(MOZILLA_DIR)/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
ifdef MOZ_D3DCOMPILER_XP_DLL
DEFINES += -DMOZ_D3DCOMPILER_XP_DLL=$(MOZ_D3DCOMPILER_XP_DLL)
endif
endif

ifdef NIGHTLY_BUILD
DEFINES += -DNIGHTLY_BUILD=1
endif

ifdef MOZ_CALENDAR
DEFINES += -DMOZ_CALENDAR=1
endif

ifdef MOZ_DEBUG
DEFINES += -DMOZ_DEBUG=1
endif

ifdef MOZ_ENABLE_GNOME_COMPONENT
DEFINES += -DMOZ_ENABLE_GNOME_COMPONENT=1
endif

ifneq (,$(filter gtk%,$(MOZ_WIDGET_TOOLKIT)))
DEFINES += -DMOZ_GTK=1
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3)
DEFINES += -DMOZ_GTK3=1
endif
endif

# Check whether this build is an alpha or nightly:
# replace "pre" with "a" in the version then look if "a" matches.
# This should match /suite/Makefile.in.
ifneq (,$(findstring a,$(MOZ_APP_VERSION:pre=a)))
DEFINES += -DMOZ_PACKAGE_DEBUGQA=1
endif

ifdef NSS_DISABLE_DBM
DEFINES += -DNSS_DISABLE_DBM=1
endif

ifdef _MSC_VER
DEFINES += -D_MSC_VER=$(_MSC_VER)
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 MOZ_MOVEMAIL
DEFINES += -DMOZ_MOVEMAIL=1
endif

ifdef NECKO_WIFI
DEFINES += -DNECKO_WIFI=1
endif

ifdef MOZ_BUNDLED_FONTS
DEFINES += -DMOZ_BUNDLED_FONTS=1
endif

ifdef MOZ_LDAP_XPCOM
DEFINES += -DMOZ_LDAP_XPCOM=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

ifdef MOZ_PKG_MANIFEST_P
MOZ_PKG_MANIFEST = package-manifest

$(MOZ_PKG_MANIFEST): $(MOZ_PKG_MANIFEST_P) $(GLOBAL_DEPS)
	$(call py_action,preprocessor,$(DEFINES) $(ACDEFINES) $< -o $@)

GARBAGE += $(MOZ_PKG_MANIFEST)
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
MOZ_PKG_MAC_DSSTORE=branding/dsstore
MOZ_PKG_MAC_BACKGROUND=branding/background.png
MOZ_PKG_MAC_ICON=branding/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)

INSTALL_SDK = 1

include $(MOZILLA_SRCDIR)/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)

DEFINES += -DMOZ_ICU_VERSION=$(MOZ_ICU_VERSION)
ifdef MOZ_SYSTEM_ICU
DEFINES += -DMOZ_SYSTEM_ICU
endif
ifdef MOZ_ICU_DATA_ARCHIVE
DEFINES += -DMOZ_ICU_DATA_ARCHIVE
endif
DEFINES += -DMOZ_ICU_DBG_SUFFIX=$(MOZ_ICU_DBG_SUFFIX)
DEFINES += -DICU_DATA_FILE=$(ICU_DATA_FILE)
ifdef CLANG_CXX
DEFINES += -DCLANG_CXX
endif
ifdef CLANG_CL
DEFINES += -DCLANG_CL
endif

ifeq (x86,$(CPU_ARCH))
ifdef _MSC_VER
ifndef CLANG_CL
DEFINES += -DWOW_HELPER
endif
endif
endif

ifeq ($(MOZ_PACKAGER_FORMAT),omni)
DEFINES += -DMOZ_OMNIJAR=1
endif

libs::
	$(MAKE) -C $(DEPTH)/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)
ifdef MOZ_PKG_MANIFEST_P
	cd $(DIST); find $(PKGCOMP_FIND_OPTS) $(FINDPATH) -type f | sort > bin-list.txt
	grep "^$(BINPATH)" $(MOZ_PKG_MANIFEST) | 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
endif

installer:
ifdef INSTALLER_DIR
	$(MAKE) -C $(INSTALLER_DIR)
endif

# The comm-* source stamp is already there.
PLATFORM_SOURCE_STAMP = $(firstword $(shell hg -R "$(MOZILLA_SRCDIR)" parent --template="{node|short}\n" 2>/dev/null))
PLATFORM_SOURCE_REPO = $(shell hg -R "$(MOZILLA_SRCDIR)" 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)