# # 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 LIBRARY_NAME = xpcombase_s MOZILLA_INTERNAL_API =1 LIBXUL_LIBRARY = 1 # TODO: we do this in crashreporter and storage/src too, should be centralized ifeq ($(OS_ARCH),Linux) DEFINES += -DXP_LINUX endif CPPSRCS = \ nsVersionComparatorImpl.cpp \ nsConsoleMessage.cpp \ nsConsoleService.cpp \ nsDebugImpl.cpp \ nsErrorService.cpp \ nsExceptionService.cpp \ nsMemoryImpl.cpp \ nsTraceRefcntImpl.cpp \ nsInterfaceRequestorAgg.cpp \ nsUUIDGenerator.cpp \ nsSystemInfo.cpp \ nsCycleCollector.cpp \ nsStackWalk.cpp \ nsMemoryReporterManager.cpp \ ClearOnShutdown.cpp \ VisualEventTracer.cpp \ nsErrorAsserts.cpp \ nsGZFileWriter.cpp \ nsMemoryInfoDumper.cpp \ nsMessageLoop.cpp \ AvailableMemoryTracker.cpp \ $(NULL) ifeq ($(OS_ARCH),Linux) CPPSRCS += MapsMemoryReporter.cpp endif ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) CPPSRCS += nsMacUtilsImpl.cpp endif CSRCS = \ nsErrorAssertsC.c \ $(NULL) ifeq (windows,$(MOZ_WIDGET_TOOLKIT)) CPPSRCS += nsCrashOnException.cpp endif ifeq ($(OS_ARCH),WINNT) ifdef MOZ_DEBUG CSRCS += pure_api.c endif endif #if OS_ARCH == WINNT SDK_HEADERS = \ nsAutoPtr.h \ nsError.h \ ErrorList.h \ ErrorListCxxDefines.h \ ErrorListCDefines.h \ nsISupportsBase.h \ nscore.h \ nsAtomicRefcnt.h \ nsCycleCollector.h \ nsObjCExceptions.h \ ifeq ($(OS_ARCH),WINNT) SDK_HEADERS += \ nsWindowsHelpers.h \ $(NULL) endif # we don't want the shared lib, but we want to force the creation of a static lib. FORCE_STATIC_LIB = 1 include $(topsrcdir)/config/config.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk include $(topsrcdir)/config/rules.mk DEFINES += -D_IMPL_NS_COM ifneq (,$(filter gtk2,$(MOZ_WIDGET_TOOLKIT))) CXXFLAGS += $(MOZ_GTK2_CFLAGS) endif LOCAL_INCLUDES += \ -I$(srcdir)/../build \ -I$(topsrcdir)/xpcom/ds \ $(NULL) # We generate ErrorListCxxDefines.h from ErrorList.h using regex. The -n option # suppresses printing the pattern space, and the p at the end prints it anyway, # so we don't print lines that don't match the pattern to start with. ErrorListCxxDefines.h: ErrorList.h Makefile sed -n 's/.*ERROR(\([A-Z_0-9]*\).*/#define \1 nsresult::\1/p' < $< > $@ ErrorListCDefines.h: ErrorList.h Makefile sed 's/.*ERROR(\([A-Z_0-9]*\),\( *\)\(.*\))[^)]*/#define \1 \2((nsresult)(\3))/' < $< > $@ GARBAGE += \ ErrorListCxxDefines.h \ ErrorListCDefines.h \ $(NULL)