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 (4b8605e6a17d)

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
# 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/.

DEPTH		= @DEPTH@
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@

include $(DEPTH)/config/autoconf.mk

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_NONLOCALIZED_PKG_LIST = \
	xpcom \
	browser \
	mail \
	$(NULL)

MOZ_LOCALIZED_PKG_LIST = \
	$(AB_CD) \
	$(NULL)

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

DEFINES += -DJAREXT=

ifdef ENABLE_TESTS
DEFINES += -DENABLE_TESTS=1
endif

ifdef LIBXUL_SDK
DEFINES += -DLIBXUL_SDK=1
endif

ifdef MOZ_ANGLE_RENDERER
DEFINES += -DMOZ_ANGLE_RENDERER=$(MOZ_ANGLE_RENDERER)
DEFINES += -DMOZ_D3DCOMPILER_DLL=$(MOZ_D3DCOMPILER_DLL)
endif

ifdef MOZ_DEBUG
DEFINES += -DMOZ_DEBUG=1
endif

ifdef MOZ_ENABLE_GNOME_COMPONENT
DEFINES += -DMOZ_ENABLE_GNOME_COMPONENT=1
endif

ifeq (gtk2, $(MOZ_WIDGET_TOOLKIT))
DEFINES += -DMOZ_GTK2=1
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_URL_CLASSIFIER
DEFINES += -DMOZ_URL_CLASSIFIER=1
endif

ifdef MOZ_UPDATER
DEFINES += -DMOZ_UPDATER=1
endif
ifdef MOZ_NATIVE_NSPR
DEFINES += -DMOZ_NATIVE_NSPR=1
endif

ifdef MOZ_NATIVE_NSS
DEFINES += -DMOZ_NATIVE_NSS=1
endif

ifdef MOZ_MOVEMAIL
DEFINES += -DMOZ_MOVEMAIL=1
endif
ifdef NECKO_WIFI
DEFINES += -DNECKO_WIFI=1
endif

# Set MSVC dlls version to package, if any.
ifdef WIN32_REDIST_DIR
DEFINES += -DMOZ_MSVC_REDIST=$(_MSC_VER)
endif

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

ifneq (en-US, $(AB_CD))
DEFINES += -DLOCALE_BUILD=1
endif

ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
DEFINES += -DWIN_OR_OS2=1
endif

DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)

ifdef MOZ_PKG_MANIFEST_P
MOZ_PKG_MANIFEST = package-manifest

$(MOZ_PKG_MANIFEST): $(MOZ_PKG_MANIFEST_P) $(GLOBAL_DEPS)
	$(PYTHON) $(MOZILLA_SRCDIR)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $< > $@

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/localstore.rdf \
	defaults/profile/panels.rdf \
	$(NULL)

ifndef LIBXUL_SDK
INSTALL_SDK = 1
endif
 
GENERATE_CACHE=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)

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

APP_SOURCE_STAMP = $(firstword $(shell hg -R $(topsrcdir) parent --template="{node|short}\n" 2>/dev/null))
APP_SOURCE_REPO = $(shell hg -R $(topsrcdir) showconfig paths.default 2>/dev/null | sed -e "s/^ssh:/http:/")
make-sourcestamp-file::
	@echo "$(APP_SOURCE_REPO)/rev/$(APP_SOURCE_STAMP)" >> $(MOZ_SOURCESTAMP_FILE)