gecko/js/xpconnect/shell/Makefile.in
Ehsan Akhgari ab9253304f Bug 307181 - Stage Firefox updates in the background after they're downloaded, and replace the application directory on restart; r=rstrong,bbondy
When Firefox downloads an update, it previously kept the update around to apply
it on the next restart.  This patch changes this so that the updater program
is launched in the background as soon as the update has finished downloading
in order to stage the updated version of the application by copying the
existing installation directory to a temporary location and applying the update
on top of it, and replace the existing installation directory with the staged
directory on the next restart.

Because the replacing step is typically very fast, this patch eliminates the
wait for the update to be applied on restart, making it unnecessary to show a
progress dialog when restarting.

--HG--
rename : toolkit/mozapps/update/test/chrome/test_0092_finishedBackground.xul => toolkit/mozapps/update/test/chrome/test_0093_stagedBackground.xul
rename : toolkit/mozapps/update/test/unit/test_0110_general.js => toolkit/mozapps/update/test/unit/test_0113_general.js
rename : toolkit/mozapps/update/test/unit/test_0111_general.js => toolkit/mozapps/update/test/unit/test_0114_general.js
rename : toolkit/mozapps/update/test/unit/test_0112_general.js => toolkit/mozapps/update/test/unit/test_0115_general.js
rename : toolkit/mozapps/update/test/unit/test_0170_fileLocked_xp_win_complete.js => toolkit/mozapps/update/test/unit/test_0172_fileLocked_xp_win_complete.js
rename : toolkit/mozapps/update/test/unit/test_0171_fileLocked_xp_win_partial.js => toolkit/mozapps/update/test/unit/test_0173_fileLocked_xp_win_partial.js
rename : toolkit/mozapps/update/test/unit/test_0110_general.js => toolkit/mozapps/update/test_svc/unit/test_0113_general_svc.js
rename : toolkit/mozapps/update/test/unit/test_0111_general.js => toolkit/mozapps/update/test_svc/unit/test_0114_general_svc.js
rename : toolkit/mozapps/update/test/unit/test_0112_general.js => toolkit/mozapps/update/test_svc/unit/test_0115_general_svc.js
rename : toolkit/mozapps/update/test/unit/test_0170_fileLocked_xp_win_complete.js => toolkit/mozapps/update/test_svc/unit/test_0172_fileLocked_xp_win_complete_svc.js
rename : toolkit/mozapps/update/test/unit/test_0171_fileLocked_xp_win_partial.js => toolkit/mozapps/update/test_svc/unit/test_0173_fileLocked_xp_win_partial_svc.js
2012-05-22 10:50:04 -04:00

93 lines
2.2 KiB
Makefile

#
# 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 = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = xpcshell
PROGRAM = xpcshell$(BIN_SUFFIX)
SDK_BINARY = $(PROGRAM)
CPPSRCS = xpcshell.cpp
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
CMMSRCS += xpcshellMacUtils.mm
endif
ifeq (windows,$(MOZ_WIDGET_TOOLKIT))
ifdef MOZ_APP_PROFILE
DEFINES += -DMOZ_APP_PROFILE='"$(MOZ_APP_PROFILE)"'
else
DEFINES += -DMOZ_APP_VENDOR='"$(MOZ_APP_VENDOR)"'
DEFINES += -DMOZ_APP_BASENAME='"$(MOZ_APP_BASENAME)"'
DEFINES += -DMOZ_APP_NAME='"$(MOZ_APP_NAME)"'
endif
endif
LIBS = \
$(DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
$(LIBXUL_LIBS) \
$(XPCOM_LIBS) \
$(NULL)
ifdef JS_SHARED_LIBRARY
LIBS += $(MOZ_JS_LIBS)
endif
LIBS += $(NSPR_LIBS)
DEFINES += \
-DNO_NSPR_10_SUPPORT \
$(NULL)
NSDISTMODE = copy
ifdef _MSC_VER
ifeq ($(OS_TEST),x86_64)
# set stack to 2MB on x64 build. See bug 582910
WIN32_EXE_LDFLAGS += -STACK:2097152
endif
endif
ifeq ($(OS_TEST),ia64)
LIBS += $(JEMALLOC_LIBS)
endif
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
include $(topsrcdir)/config/rules.mk
DEFINES += -DJS_THREADSAFE
ifdef MOZ_SHARK
DEFINES += -DMOZ_SHARK
CFLAGS += -F/System/Library/PrivateFrameworks
LDFLAGS += -F/System/Library/PrivateFrameworks -framework CHUD
endif
ifdef MOZ_CALLGRIND
DEFINES += -DMOZ_CALLGRIND
endif
ifdef MOZ_VTUNE
DEFINES += -DMOZ_VTUNE
CXXFLAGS += -IC:/Program\ Files/Intel/VTune/Analyzer/Include
LIBS += C:/Program\ Files/Intel/VTune/Analyzer/Lib/VtuneApi.lib
endif
#
# Line editing support. If your OS supplies the readline library, define
# JS_READLINE to get line editing in the xpcshell.
#
# If you can't link against readline because of GPL licensing issues
# (which may not apply, as xpcshell.c has the dual license) you might
# look at mozilla/js/src/editline, which is license-free (but not part
# of the mozilla build.)
#
ifdef JS_READLINE
DEFINES += -DEDITLINE
LIBS += -lreadline $(JS_READLINE_EXTRA_LIBS)
endif