# ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is mozilla.org code. # # The Initial Developer of the Original Code is # Netscape Communications. # Portions created by the Initial Developer are Copyright (C) 2001 # the Initial Developer. All Rights Reserved. # # Contributor(s): # Brian Ryner # Benjamin Smedberg # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** DEPTH = ../.. topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk MODULE = xulapp LIBRARY_NAME = xulapp_s LIBXUL_LIBRARY = 1 REQUIRES = \ appcomps \ toolkitcomps \ appshell \ chrome \ content \ docshell \ dom \ embed_base \ embedcomponents \ extensions \ gfx \ intl \ js \ necko \ pref \ profile \ string \ uriloader \ widget \ windowwatcher \ xpcom \ xpconnect \ xpinstall \ $(NULL) ifdef MOZ_JPROF REQUIRES += jprof endif ifdef NS_TRACE_MALLOC REQUIRES += tracemalloc endif ifdef MOZ_CRASHREPORTER REQUIRES += crashreporter endif FORCE_STATIC_LIB = 1 XPIDLSRCS = \ nsINativeAppSupport.idl \ $(NULL) ifneq (,$(filter WINCE WINNT,$(OS_ARCH))) XPIDLSRCS += nsIWinAppHelper.idl endif EXPORTS = \ xrecore.h \ nsXULAppAPI.h \ $(NULL) CPPSRCS = \ nsAppRunner.cpp \ nsConsoleWriter.cpp \ nsXREDirProvider.cpp \ nsNativeAppSupportBase.cpp \ nsAppData.cpp \ $(NULL) DEFINES += -DIMPL_XREAPI ifndef BUILD_STATIC_LIBS CPPSRCS += nsEmbedFunctions.cpp endif ifdef MOZ_UPDATER CPPSRCS += nsUpdateDriver.cpp DEFINES += -DMOZ_UPDATER endif ifeq ($(MOZ_WIDGET_TOOLKIT),windows) CPPSRCS += nsNativeAppSupportWin.cpp DEFINES += -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE else ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) CMMSRCS = nsNativeAppSupportCocoa.mm else ifeq ($(MOZ_WIDGET_TOOLKIT),os2) CPPSRCS += nsNativeAppSupportOS2.cpp else ifeq ($(MOZ_WIDGET_TOOLKIT),beos) CPPSRCS += nsNativeAppSupportBeOS.cpp else ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) CPPSRCS += nsNativeAppSupportUnix.cpp else CPPSRCS += nsNativeAppSupportDefault.cpp endif endif endif endif endif ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) CMMSRCS += MacLaunchHelper.mm CPPSRCS += nsCommandLineServiceMac.cpp OS_CXXFLAGS += -fexceptions endif ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) CMMSRCS += MacApplicationDelegate.mm endif ifneq (,$(filter-out OS2 WINNT,$(OS_ARCH))) CPPSRCS += nsSigHandlers.cpp endif SHARED_LIBRARY_LIBS += ../profile/src/$(LIB_PREFIX)profile_s.$(LIB_SUFFIX) ifdef MOZ_ENABLE_XREMOTE SHARED_LIBRARY_LIBS += $(DEPTH)/widget/src/xremoteclient/$(LIB_PREFIX)xremote_client_s.$(LIB_SUFFIX) LOCAL_INCLUDES += -I$(topsrcdir)/widget/src/xremoteclient endif ifdef MOZ_CRASHREPORTER SHARED_LIBRARY_LIBS += $(DEPTH)/toolkit/crashreporter/$(LIB_PREFIX)exception_handler_s.$(LIB_SUFFIX) ifeq ($(OS_ARCH),WINNT) SHARED_LIBRARY_LIBS += \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/client/windows/handler/$(LIB_PREFIX)exception_handler_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/client/windows/crash_generation/$(LIB_PREFIX)crash_generation_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/windows/$(LIB_PREFIX)breakpad_windows_common_s.$(LIB_SUFFIX) endif ifeq ($(OS_ARCH),Darwin) SHARED_LIBRARY_LIBS += \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/client/$(LIB_PREFIX)minidump_file_writer_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/client/mac/handler/$(LIB_PREFIX)exception_handler_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/$(LIB_PREFIX)breakpad_common_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/mac/$(LIB_PREFIX)breakpad_mac_common_s.$(LIB_SUFFIX) endif ifeq ($(OS_ARCH),Linux) SHARED_LIBRARY_LIBS += \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/client/linux/handler/$(LIB_PREFIX)exception_handler_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/client/$(LIB_PREFIX)minidump_file_writer_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/$(LIB_PREFIX)breakpad_common_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/linux/$(LIB_PREFIX)breakpad_linux_common_s.$(LIB_SUFFIX) \ $(NULL) endif ifeq ($(OS_ARCH),SunOS) SHARED_LIBRARY_LIBS += \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/client/solaris/handler/$(LIB_PREFIX)exception_handler_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/client/$(LIB_PREFIX)minidump_file_writer_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/$(LIB_PREFIX)breakpad_common_s.$(LIB_SUFFIX) \ $(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/solaris/$(LIB_PREFIX)breakpad_solaris_common_s.$(LIB_SUFFIX) \ $(NULL) endif endif ifdef ENABLE_TESTS DIRS += test endif include $(topsrcdir)/config/rules.mk ifdef BUILD_STATIC_LIBS export:: @$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(FINAL_LINK_COMP_NAMES) Apprunner # embedding/browser/gtk/src/Makefile.in sucks! we need to add an empty line to # FINAL_LINK_COMPS to keep the two lists in sync :-( @$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(FINAL_LINK_COMPS) "" endif LOCAL_INCLUDES += \ -I$(srcdir) \ -I$(srcdir)/../profile/src \ -I$(topsrcdir)/config \ $(NULL) CXXFLAGS += $(TK_CFLAGS) $(MOZ_DBUS_GLIB_CFLAGS) ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) CXXFLAGS += $(MOZ_PANGO_CFLAGS) endif ifdef BUILD_STATIC_LIBS DEFINES += -D_BUILD_STATIC_BIN endif DEFINES += \ -DOS_TARGET=\"$(OS_TARGET)\" \ -DMOZ_WIDGET_TOOLKIT=\"$(MOZ_WIDGET_TOOLKIT)\" ifdef TARGET_XPCOM_ABI DEFINES += \ -DTARGET_XPCOM_ABI=\"$(TARGET_XPCOM_ABI)\" \ -DTARGET_OS_ABI=\"$(OS_TARGET)_$(TARGET_XPCOM_ABI)\" \ $(NULL) endif DEFINES += -DTOOLKIT_EM_VERSION=\"$(shell $(PERL) $(topsrcdir)/config/milestone.pl --topsrcdir=$(topsrcdir))\" ifdef WRAP_SYSTEM_INCLUDES DEFINES += -DWRAP_SYSTEM_INCLUDES endif ifeq ($(OS_ARCH),Linux) ifneq (,$(findstring lib64,$(libdir))) DEFINES += -DHAVE_USR_LIB64_DIR endif endif SOURCE_STAMP := $(shell cd $(topsrcdir) && hg identify 2>/dev/null | cut -f1 -d' ') # strip a trailing slash from the repo URL because it's not always present, # and we want to construct a working URL in buildconfig.html # make+shell+sed = awful _dollar=$$ SOURCE_REPO := $(shell cd $(topsrcdir) && hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" -e "s/\/$(_dollar)//" ) ifdef SOURCE_STAMP INIARGS = --sourcestamp=$(SOURCE_STAMP) # extra sanity check for old versions of hg # that don't support showconfig ifeq (http,$(patsubst http%,http,$(SOURCE_REPO))) INIARGS += --sourcerepo=$(SOURCE_REPO) endif endif platform.ini: FORCE $(PYTHON) $(srcdir)/make-platformini.py --buildid=$(shell cat $(DEPTH)/config/buildid) $(INIARGS) $(topsrcdir)/config/milestone.txt > $@ GARBAGE += platform.ini libs:: platform.ini $(INSTALL) $^ $(DIST)/bin install:: $(INSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)