# # 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 MODULE = xpcom XPIDL_MODULE = xpcom_io LIBRARY_NAME = xpcomio_s GRE_MODULE = 1 MOZILLA_INTERNAL_API = 1 LIBXUL_LIBRARY = 1 # work around bug 408258 ifdef GNU_CC ifneq ($(OS_ARCH), Darwin) MODULE_OPTIMIZE_FLAGS = $(MOZ_OPTIMIZE_FLAGS) -fno-strict-aliasing endif endif CPPSRCS = \ Base64.cpp \ nsAnonymousTemporaryFile.cpp \ nsAppFileLocationProvider.cpp \ nsBinaryStream.cpp \ nsDirectoryService.cpp \ nsEscape.cpp \ nsInputStreamTee.cpp \ nsLinebreakConverter.cpp \ nsLocalFileCommon.cpp \ nsMultiplexInputStream.cpp \ nsNativeCharsetUtils.cpp \ nsPipe3.cpp \ nsStreamUtils.cpp \ nsScriptableInputStream.cpp \ nsScriptableBase64Encoder.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 ifeq ($(MOZ_WIDGET_TOOLKIT),os2) CPPSRCS += nsLocalFileOS2.cpp else ifeq ($(MOZ_WIDGET_TOOLKIT),windows) CPPSRCS += nsLocalFileWin.cpp else CPPSRCS += nsLocalFileUnix.cpp endif # windows endif # OS2 EXPORTS = \ nsAnonymousTemporaryFile.h \ nsAppDirectoryServiceDefs.h \ nsDirectoryService.h \ nsDirectoryServiceAtomList.h \ nsEscape.h \ nsLinebreakConverter.h \ nsLocalFile.h \ nsMultiplexInputStream.h \ nsNativeCharsetUtils.h \ nsScriptableInputStream.h \ nsStorageStream.h \ nsStringStream.h \ nsStreamUtils.h \ nsUnicharInputStream.h \ nsWildCard.h \ SpecialSystemDirectory.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 EXPORTS_NAMESPACES = mozilla EXPORTS_mozilla = \ Base64.h \ $(NULL) XPIDLSRCS = \ nsIBinaryInputStream.idl \ nsIBinaryOutputStream.idl \ nsIDirectoryEnumerator.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 \ nsIScriptableBase64Encoder.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 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) $(MOZ_QT_CFLAGS) CXXFLAGS += $(MOZ_PLATFORM_MAEMO_CFLAGS) $(MOZ_QT_CFLAGS) endif