gecko-dev/xpcom/io/moz.build

167 строки
4.3 KiB
Python

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
XPIDL_SOURCES += [
'nsIAsyncInputStream.idl',
'nsIAsyncOutputStream.idl',
'nsIBinaryInputStream.idl',
'nsIBinaryOutputStream.idl',
'nsICloneableInputStream.idl',
'nsIConverterInputStream.idl',
'nsIConverterOutputStream.idl',
'nsIDirectoryEnumerator.idl',
'nsIDirectoryService.idl',
'nsIFile.idl',
'nsIInputStream.idl',
'nsIInputStreamLength.idl',
'nsIInputStreamTee.idl',
'nsIIOUtil.idl',
'nsILineInputStream.idl',
'nsILocalFileWin.idl',
'nsIMultiplexInputStream.idl',
'nsIObjectInputStream.idl',
'nsIObjectOutputStream.idl',
'nsIOutputStream.idl',
'nsIPipe.idl',
'nsISafeOutputStream.idl',
'nsIScriptableBase64Encoder.idl',
'nsIScriptableInputStream.idl',
'nsISeekableStream.idl',
'nsIStorageStream.idl',
'nsIStreamBufferAccess.idl',
'nsIStringStream.idl',
'nsITellableStream.idl',
'nsIUnicharInputStream.idl',
'nsIUnicharLineInputStream.idl',
'nsIUnicharOutputStream.idl',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
XPIDL_SOURCES += [
'nsILocalFileMac.idl',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
EXPORTS += ['nsLocalFileWin.h']
EXPORTS.mozilla += [
'FileUtilsWin.h',
]
SOURCES += [
'FileUtilsWin.cpp',
'nsLocalFileWin.cpp',
]
else:
EXPORTS += ['nsLocalFileUnix.h']
SOURCES += [
'nsLocalFileUnix.cpp',
]
XPIDL_MODULE = 'xpcom_io'
XPCOM_MANIFESTS += [
'components.conf',
]
EXPORTS += [
'FileDescriptorFile.h',
'nsAnonymousTemporaryFile.h',
'nsAppDirectoryServiceDefs.h',
'nsDirectoryService.h',
'nsDirectoryServiceDefs.h',
'nsDirectoryServiceUtils.h',
'nsEscape.h',
'nsLinebreakConverter.h',
'nsLocalFile.h',
'nsMultiplexInputStream.h',
'nsNativeCharsetUtils.h',
'nsScriptableInputStream.h',
'nsStorageStream.h',
'nsStreamUtils.h',
'nsStringStream.h',
'nsUnicharInputStream.h',
'nsWildCard.h',
'SpecialSystemDirectory.h',
]
EXPORTS.mozilla += [
'Base64.h',
'FilePreferences.h',
'InputStreamLengthHelper.h',
'InputStreamLengthWrapper.h',
'NonBlockingAsyncInputStream.h',
'SlicedInputStream.h',
'SnappyCompressOutputStream.h',
'SnappyFrameUtils.h',
'SnappyUncompressInputStream.h',
]
UNIFIED_SOURCES += [
'Base64.cpp',
'crc32c.c',
'FileDescriptorFile.cpp',
'FilePreferences.cpp',
'InputStreamLengthHelper.cpp',
'InputStreamLengthWrapper.cpp',
'NonBlockingAsyncInputStream.cpp',
'nsAnonymousTemporaryFile.cpp',
'nsAppFileLocationProvider.cpp',
'nsBinaryStream.cpp',
'nsEscape.cpp',
'nsInputStreamTee.cpp',
'nsIOUtil.cpp',
'nsLinebreakConverter.cpp',
'nsLocalFileCommon.cpp',
'nsMultiplexInputStream.cpp',
'nsNativeCharsetUtils.cpp',
'nsPipe3.cpp',
'nsScriptableBase64Encoder.cpp',
'nsScriptableInputStream.cpp',
'nsSegmentedBuffer.cpp',
'nsStorageStream.cpp',
'nsStreamUtils.cpp',
'nsStringStream.cpp',
'nsUnicharInputStream.cpp',
'nsWildCard.cpp',
'SlicedInputStream.cpp',
'SnappyCompressOutputStream.cpp',
'SnappyFrameUtils.cpp',
'SnappyUncompressInputStream.cpp',
'SpecialSystemDirectory.cpp',
]
SOURCES += [
'nsDirectoryService.cpp',
]
if CONFIG['CC_TYPE'] == 'msvc':
# Needed for gDirectoryAtoms.
SOURCES['nsDirectoryService.cpp'].flags += ['-Zc:externConstexpr']
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
SOURCES += [
'CocoaFileUtils.mm',
]
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
if CONFIG['OS_ARCH'] == 'Linux' and 'lib64' in CONFIG['libdir']:
DEFINES['HAVE_USR_LIB64_DIR'] = True
LOCAL_INCLUDES += [
'!..',
'../build',
]
if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
# This is intended as a temporary hack to support building with VS2015.
# '_snwprintf' : format string '%s' requires an argument of type 'wchar_t *',
# but variadic argument 3 has type 'char16ptr_t'
CXXFLAGS += ['-wd4477']
if CONFIG['CC_TYPE'] == 'clang-cl':
AllowCompilerWarnings() # workaround for bug 1090497