#
# The contents of this file are subject to the Netscape 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/NPL/
#
# 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 Corporation.  Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): 
#

DEPTH		= ../..
topsrcdir	= ../..
srcdir		= .
VPATH		= .

include $(DEPTH)/config/autoconf.mk

MODULE		= xpcom
XPIDL_MODULE	= xpcom_base
LIBRARY_NAME	= xpcombase_s

CPPSRCS		= \
		nsLogging.cpp \
		nsAllocator.cpp \
		nsMemoryImpl.cpp \
		nsErrorService.cpp \
		nsDebug.cpp \
		nsIInterfaceRequestor.cpp \
		nsTraceRefcnt.cpp \
		nsCOMPtr.cpp \
		nsID.cpp \
		nsCWeakReference.cpp \
		nsWeakReference.cpp \
		nsConsoleService.cpp \
		nsConsoleMessage.cpp \
		$(NULL)

ifdef GC_LEAK_DETECTOR
CSRCS += nsGarbageCollector.c
CPPSRCS += nsLeakDetector.cpp
endif

EXPORTS		= \
		nsAgg.h \
		nsIAllocator.h \
		nsMemory.h \
		nsCOMPtr.h \
		nsCom.h \
		nsCWeakReference.h \
		nsDebug.h \
		nsError.h \
		nsID.h \
		nsIID.h \
		nsIPtr.h \
		nsISupportsUtils.h \
		nsTraceRefcnt.h \
		nsWeakReference.h \
		nsWeakPtr.h \
		nscore.h \
		nslog.h \
		$(NULL)

ifdef NS_TRACE_MALLOC
CSRCS           += nsTraceMalloc.c
CPPSRCS         += nsTypeInfo.cpp
EXPORTS         += nsTraceMalloc.h
DEFINES         += -DNS_TRACE_MALLOC
SIMPLE_PROGRAMS = bloatblame

LIBS            += tmreader.o $(NSPR_LIBS)
EXTRA_DEPS      = tmreader.o
endif

XPIDLSRCS	= \
		nsrootidl.idl \
		nsILoggingService.idl \
		nsISupports.idl \
		nsIMemory.idl \
		nsIErrorService.idl \
		nsIInterfaceRequestor.idl \
		nsIWeakReference.idl \
		nsIConsoleService.idl \
		nsIConsoleMessage.idl \
		nsIConsoleListener.idl \
		$(NULL)

ifdef GC_LEAK_DETECTOR
XPIDLSRCS       += nsILeakDetector.idl
endif

EXPORTS		:= $(addprefix $(srcdir)/, $(EXPORTS))

# we don't want the shared lib, but we want to force the creation of a static lib.
override NO_SHARED_LIB=1
override NO_STATIC_LIB=

include $(topsrcdir)/config/rules.mk

DEFINES		+= -D_IMPL_NS_COM

ifeq ($(OS_ARCH), Linux)
DEFINES		+= -D_BSD_SOURCE
endif
