gecko-dev/xpcom/io/moz.build
Mike Hommey feab23649a Bug 1403366 - When NS_XPCOM_INIT_CURRENT_PROCESS_DIR is not already set, fallback to BinaryPath's parent. r=froydnj
The Windows and OSX code paths were essentially doing the same thing,
and the Unix fallback was using an old convention that is pretty much
outdated.

Under normal conditions (XPCOM initialized by Firefox),
NS_XPCOM_INIT_CURRENT_PROCESS_DIR is set from BinaryPath anyways, so
this only really affects adhoc XPCOM initialization from e.g. C++ unit
tests.

--HG--
extra : rebase_source : f7faa6f22ffc56fb4da7ae96eb571a35fa6f615d
2017-09-28 10:49:48 +09:00

145 lines
3.7 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',
'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',
'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'
EXPORTS += [
'FileDescriptorFile.h',
'nsAnonymousTemporaryFile.h',
'nsAppDirectoryServiceDefs.h',
'nsDirectoryService.h',
'nsDirectoryServiceAtomList.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',
'SlicedInputStream.h',
'SpecialSystemDirectory.h',
]
EXPORTS.mozilla += [
'Base64.h',
'SnappyCompressOutputStream.h',
'SnappyFrameUtils.h',
'SnappyUncompressInputStream.h',
]
UNIFIED_SOURCES += [
'Base64.cpp',
'crc32c.c',
'FileDescriptorFile.cpp',
'nsAnonymousTemporaryFile.cpp',
'nsAppFileLocationProvider.cpp',
'nsBinaryStream.cpp',
'nsDirectoryService.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',
]
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['_MSC_VER']:
# 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']