toolkit/mozapps/update/updater/Makefile.in
author Ryan VanderMeulen <ryanvm@gmail.com>
Tue, 30 Apr 2013 21:09:41 -0400
changeset 130421 d5db4e09eeef840fd81294ab2a2a0344ea0cde96
parent 130420 c7937fb5f4bbe90cbe8fd030e40d36eeb9f34fb9
child 131410 557f1d26fb712722030373ff369d4dba8477260e
permissions -rw-r--r--
Backed out changesets c7937fb5f4bb and cf8db9b6bd61 (bug 862986) for bustage. CLOSED TREE

# vim:set ts=8 sw=8 sts=8 noet:
# 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

CPPSRCS = \
  updater.cpp \
  bspatch.cpp \
  archivereader.cpp \
  $(NULL)

ifeq ($(OS_ARCH),WINNT)
CPPSRCS += \
  loaddlls.cpp \
  $(NULL)
endif

PROGRAM = updater$(BIN_SUFFIX)

# Don't link the updater against libmozglue. See bug 687139
MOZ_GLUE_LDFLAGS =
MOZ_GLUE_PROGRAM_LDFLAGS =

LOCAL_INCLUDES += \
  -I$(srcdir)/../common \
  $(NULL)

LIBS += \
  ../common/$(LIB_PREFIX)updatecommon.$(LIB_SUFFIX) \
  $(DEPTH)/modules/libmar/src/$(LIB_PREFIX)mar.$(LIB_SUFFIX) \
  $(MOZ_BZ2_LIBS) \
  $(NULL)

ifeq ($(OS_ARCH),WINNT)
LIBS += $(DEPTH)/modules/libmar/verify/$(LIB_PREFIX)verifymar.$(LIB_SUFFIX)
USE_STATIC_LIBS = 1
HAVE_PROGRESSUI = 1
RCINCLUDE = updater.rc
CPPSRCS += \
  progressui_win.cpp \
  win_dirent.cpp \
  $(NULL)
OS_LIBS += $(call EXPAND_LIBNAME,delayimp comctl32 ws2_32 shell32 shlwapi)
DEFINES += -DUNICODE -D_UNICODE
ifndef GNU_CC
RCFLAGS += -I$(srcdir)
else
RCFLAGS += --include-dir $(srcdir)
endif

endif

ifneq ($(MOZ_ENABLE_GTK2),)
HAVE_PROGRESSUI = 1
CPPSRCS += \
  progressui_gtk.cpp \
  $(NULL)
OS_CXXFLAGS += $(TK_CFLAGS)
OS_LIBS += $(TK_LIBS)
endif

ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
HAVE_PROGRESSUI = 1
CMMSRCS += progressui_osx.mm launchchild_osx.mm
OS_LIBS += -framework Cocoa
endif

ifeq (gonk,$(MOZ_WIDGET_TOOLKIT)) #{
HAVE_PROGRESSUI = 1
STL_FLAGS =
CPPSRCS += progressui_gonk.cpp automounter_gonk.cpp
OS_LIBS += -lcutils -lsysutils
# clear out all the --wrap flags and remove dependency on mozglue for Gonk
WRAP_LDFLAGS :=
endif #}

ifndef HAVE_PROGRESSUI
CPPSRCS += progressui_null.cpp
endif

ifndef MOZ_WINCONSOLE
ifdef MOZ_DEBUG
MOZ_WINCONSOLE = 1
else
MOZ_WINCONSOLE = 0
endif
endif

include $(topsrcdir)/config/rules.mk

DEFINES += -DNS_NO_XPCOM \
  -DMAR_CHANNEL_ID='"$(MAR_CHANNEL_ID)"' \
  -DMOZ_APP_VERSION='"$(MOZ_APP_VERSION)"' \
  $(NULL)

ifdef _MSC_VER
WIN32_EXE_LDFLAGS += -ENTRY:wmainCRTStartup
WIN32_EXE_LDFLAGS += -DELAYLOAD:wsock32.dll -DELAYLOAD:crypt32.dll
endif

ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
libs:: updater.png
	$(NSINSTALL) -D $(DIST)/bin/icons
	$(INSTALL) $(IFLAGS1) $^ $(DIST)/bin/icons
endif

ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
libs::
	$(NSINSTALL) -D $(DIST)/bin/updater.app
	rsync -a -C --exclude "*.in" $(srcdir)/macbuild/Contents $(DIST)/bin/updater.app 
	sed -e "s/%APP_NAME%/$(MOZ_APP_DISPLAYNAME)/" $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | \
	  iconv -f UTF-8 -t UTF-16 > $(DIST)/bin/updater.app/Contents/Resources/English.lproj/InfoPlist.strings
	$(NSINSTALL) -D $(DIST)/bin/updater.app/Contents/MacOS
	$(NSINSTALL) $(DIST)/bin/updater $(DIST)/bin/updater.app/Contents/MacOS
	rm -f $(DIST)/bin/updater
endif

ifeq (,$(filter-out WINNT,$(OS_ARCH)))
# Pick up nsWindowsRestart.cpp
LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
endif

ifeq ($(OS_ARCH),WINNT)
EXTRA_LIBS += $(call EXPAND_LIBNAME,crypt32)
EXTRA_LIBS += $(call EXPAND_LIBNAME,advapi32)
endif

CXXFLAGS += $(MOZ_BZ2_CFLAGS)

ifneq (,$(filter beta release esr,$(MOZ_UPDATE_CHANNEL)))
RCFLAGS += -DMAR_SIGNING_RELEASE_BETA=1
else
ifneq (,$(filter nightly aurora nightly-elm nightly-profiling nightly-oak,$(MOZ_UPDATE_CHANNEL)))
RCFLAGS += -DMAR_SIGNING_AURORA_NIGHTLY=1
endif
endif