#
# 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_io
LIBRARY_NAME	= xpcomio_s
GRE_MODULE	= 1
REQUIRES	= string \
		  $(NULL)

ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
REQUIRES		+= macmorefiles
endif

CPPSRCS		= \
		nsAppFileLocationProvider.cpp \
		nsBinaryStream.cpp \
		nsByteArrayInputStream.cpp \
		nsDirectoryService.cpp \
		nsEscape.cpp \
		nsFastLoadFile.cpp \
		nsFastLoadService.cpp \
		nsInputStreamTee.cpp \
		nsLinebreakConverter.cpp \
		nsLocalFileCommon.cpp \
		nsMultiplexInputStream.cpp \
		nsPipe3.cpp \
		nsStreamUtils.cpp \
		nsScriptableInputStream.cpp \
		nsSegmentedBuffer.cpp \
		SpecialSystemDirectory.cpp \
		nsStorageStream.cpp \
		nsStringStream.cpp \
		nsUnicharInputStream.cpp \
		nsNativeCharsetUtils.cpp \
		$(NULL)

ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
CPPSRCS		+= nsLocalFileOS2.cpp
else
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
CPPSRCS		+= nsLocalFileOSX.cpp
else
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
CPPSRCS		+= nsLocalFileWin.cpp
else
CPPSRCS		+= nsLocalFileUnix.cpp
endif # windows
endif # mac
endif # OS2

EXPORTS		= \
		nsAppDirectoryServiceDefs.h \
		nsDirectoryService.h \
		nsDirectoryServiceUtils.h \
		nsEscape.h \
		nsFastLoadPtr.h \
		nsFastLoadService.h \
		nsIUnicharInputStream.h \
		nsLinebreakConverter.h \
		nsLocalFile.h \
		nsMultiplexInputStream.h \
		nsScriptableInputStream.h \
		nsStorageStream.h \
		nsStringIO.h \
		nsStringStream.h \
		nsStreamUtils.h \
		nsNativeCharsetUtils.h \
		$(NULL)			

ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
EXPORTS		+= nsLocalFileOS2.h
else
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
EXPORTS		+= nsLocalFileOSX.h
else
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
EXPORTS		+= nsLocalFileWin.h
else
EXPORTS		+= nsLocalFileUnix.h
endif # windows
endif # mac
endif # os2

XPIDLSRCS	= \
		nsIBinaryInputStream.idl \
		nsIBinaryOutputStream.idl  \
		nsIByteArrayInputStream.idl \
		nsIFastLoadFileControl.idl \
		nsIFastLoadService.idl \
		nsIInputStreamTee.idl \
		nsILineInputStream.idl \
		nsIMultiplexInputStream.idl \
		nsIObjectInputStream.idl \
		nsIObjectOutputStream.idl \
		nsIPipe.idl \
		nsISeekableStream.idl \
		nsIStorageStream.idl \
		nsIStringStream.idl \
		nsIStreamBufferAccess.idl \
		nsIAsyncInputStream.idl \
		nsIAsyncOutputStream.idl \
		$(NULL)

ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
XPIDLSRCS	+= nsILocalFileMac.idl
endif

SDK_XPIDLSRCS   = \
		nsIDirectoryService.idl \
		nsIFile.idl \
		nsILocalFile.idl \
		nsIInputStream.idl \
		nsIOutputStream.idl \
		nsIScriptableInputStream.idl \
		$(NULL)

SDK_HEADERS =  \
		nsDirectoryServiceDefs.h \
		$(NULL)

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

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

# Force use of PIC
FORCE_USE_PIC	= 1

include $(topsrcdir)/config/rules.mk

DEFINES		+= -D_IMPL_NS_COM

LOCAL_INCLUDES	= -I..
