# # 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 MSVC_ENABLE_PGO := 1 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 CSRCS = \ nsErrorAssertsC.c \ $(NULL) ifeq ($(OS_ARCH),WINNT) ifdef MOZ_DEBUG CSRCS += pure_api.c endif endif #if OS_ARCH == WINNT DISABLED_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) DISABLED_SDK_HEADERS += \ nsWindowsHelpers.h \ $(NULL) endif include $(topsrcdir)/config/config.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk include $(topsrcdir)/config/rules.mk ifdef MOZ_WIDGET_GTK CXXFLAGS += $(TK_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)