# # ***** 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 Corporation. # Portions created by the Initial Developer are Copyright (C) 1998 # the Initial Developer. All Rights Reserved. # # Contributor(s): # # Alternatively, the contents of this file may be used under the terms of # either of 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 = xpcom XPIDL_MODULE = xpcom_io LIBRARY_NAME = xpcomio_s GRE_MODULE = 1 MOZILLA_INTERNAL_API = 1 # work around bug 408258 ifdef GNU_CC ifneq ($(OS_ARCH), Darwin) MODULE_OPTIMIZE_FLAGS = -Os -fno-strict-aliasing $(MOZ_OPTIMIZE_SIZE_TWEAK) endif endif CPPSRCS = \ nsAppFileLocationProvider.cpp \ nsBinaryStream.cpp \ nsDirectoryService.cpp \ nsEscape.cpp \ nsInputStreamTee.cpp \ nsLinebreakConverter.cpp \ nsLocalFileCommon.cpp \ nsMultiplexInputStream.cpp \ nsNativeCharsetUtils.cpp \ nsPipe3.cpp \ nsStreamUtils.cpp \ nsScriptableInputStream.cpp \ nsSegmentedBuffer.cpp \ nsStorageStream.cpp \ nsStringStream.cpp \ nsUnicharInputStream.cpp \ nsIOUtil.cpp \ nsWildCard.cpp \ SpecialSystemDirectory.cpp \ $(NULL) ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) CMMSRCS += \ CocoaFileUtils.mm \ $(NULL) endif ifndef MOZ_NO_FAST_LOAD CPPSRCS += \ nsFastLoadFile.cpp \ nsFastLoadService.cpp \ $(NULL) endif ifeq ($(MOZ_WIDGET_TOOLKIT),os2) CPPSRCS += nsLocalFileOS2.cpp else ifeq ($(MOZ_WIDGET_TOOLKIT),windows) CPPSRCS += nsLocalFileWin.cpp nsMediaCacheRemover.cpp else CPPSRCS += nsLocalFileUnix.cpp endif # windows endif # OS2 EXPORTS = \ nsAppDirectoryServiceDefs.h \ nsDirectoryService.h \ nsDirectoryServiceAtomList.h \ nsEscape.h \ nsFastLoadService.h \ nsLinebreakConverter.h \ nsLocalFile.h \ nsMultiplexInputStream.h \ nsNativeCharsetUtils.h \ nsScriptableInputStream.h \ nsStorageStream.h \ nsStringStream.h \ nsStreamUtils.h \ nsWildCard.h \ $(NULL) ifeq ($(MOZ_WIDGET_TOOLKIT),os2) EXPORTS += nsLocalFileOS2.h else ifeq ($(MOZ_WIDGET_TOOLKIT),windows) EXPORTS += nsLocalFileWin.h else EXPORTS += nsLocalFileUnix.h endif # windows endif # os2 XPIDLSRCS = \ nsIBinaryInputStream.idl \ nsIBinaryOutputStream.idl \ nsIDirectoryEnumerator.idl \ nsIFastLoadFileControl.idl \ nsIFastLoadService.idl \ nsIInputStreamTee.idl \ nsILocalFileWin.idl \ nsILineInputStream.idl \ nsIUnicharLineInputStream.idl \ nsISimpleUnicharStreamFactory.idl \ nsIMultiplexInputStream.idl \ nsIObjectInputStream.idl \ nsIObjectOutputStream.idl \ nsIPipe.idl \ nsISeekableStream.idl \ nsIStorageStream.idl \ nsIStringStream.idl \ nsIStreamBufferAccess.idl \ nsIAsyncInputStream.idl \ nsIAsyncOutputStream.idl \ nsIUnicharInputStream.idl \ nsIUnicharOutputStream.idl \ nsIConverterInputStream.idl \ nsIConverterOutputStream.idl \ nsIIOUtil.idl \ nsISafeOutputStream.idl \ $(NULL) ifeq ($(MOZ_WIDGET_TOOLKIT),os2) XPIDLSRCS += nsILocalFileOS2.idl else ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) XPIDLSRCS += nsILocalFileMac.idl endif # cocoa endif # os2 SDK_XPIDLSRCS = \ nsIDirectoryService.idl \ nsIFile.idl \ nsILocalFile.idl \ nsIInputStream.idl \ nsIOutputStream.idl \ nsIScriptableInputStream.idl \ $(NULL) SDK_HEADERS = \ nsDirectoryServiceDefs.h \ nsDirectoryServiceUtils.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 include $(topsrcdir)/ipc/chromium/chromium-config.mk DEFINES += -D_IMPL_NS_COM ifeq ($(OS_ARCH),Linux) ifneq (,$(findstring lib64,$(libdir))) DEFINES += -DHAVE_USR_LIB64_DIR endif endif LOCAL_INCLUDES += -I.. ifeq ($(MOZ_PLATFORM_MAEMO),5) CFLAGS += $(MOZ_DBUS_CFLAGS) CXXFLAGS += $(MOZ_DBUS_CFLAGS) endif ifdef MOZ_PLATFORM_MAEMO CFLAGS += $(MOZ_PLATFORM_MAEMO_CFLAGS) CXXFLAGS += $(MOZ_PLATFORM_MAEMO_CFLAGS) endif