Bug 868536 - Move ipdl.mk files to moz.build; r=gps

Author: Mike Shal <mshal@mozilla.com>
This commit is contained in:
Mike Shal 2013-07-01 09:56:28 -04:00
parent 873cc6181f
commit edeb7caf7a
59 changed files with 323 additions and 308 deletions

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
PSpeechSynthesis.ipdl \
PSpeechSynthesisRequest.ipdl \
$(NULL)

View File

@ -37,3 +37,7 @@ CPP_SOURCES += [
'nsSynthVoiceRegistry.cpp',
]
IPDL_SOURCES += [
'ipc/PSpeechSynthesis.ipdl',
'ipc/PSpeechSynthesisRequest.ipdl',
]

View File

@ -1,9 +0,0 @@
# 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/.
IPDLSRCS = \
BluetoothTypes.ipdlh \
PBluetooth.ipdl \
PBluetoothRequest.ipdl \
$(NULL)

View File

@ -69,3 +69,8 @@ EXPORTS.mozilla.dom.bluetooth += [
'BluetoothCommon.h',
]
IPDL_SOURCES += [
'ipc/BluetoothTypes.ipdlh',
'ipc/PBluetooth.ipdl',
'ipc/PBluetoothRequest.ipdl',
]

View File

@ -26,3 +26,6 @@ CPP_SOURCES += [
'nsDeviceStorage.cpp',
]
IPDL_SOURCES += [
'PDeviceStorageRequest.ipdl',
]

View File

@ -1,14 +0,0 @@
# 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/.
IPDLSRCS = \
PIndexedDB.ipdl \
PIndexedDBCursor.ipdl \
PIndexedDBDatabase.ipdl \
PIndexedDBDeleteDatabaseRequest.ipdl \
PIndexedDBIndex.ipdl \
PIndexedDBObjectStore.ipdl \
PIndexedDBRequest.ipdl \
PIndexedDBTransaction.ipdl \
$(NULL)

View File

@ -17,3 +17,14 @@ CPP_SOURCES += [
'IndexedDBChild.cpp',
'IndexedDBParent.cpp',
]
IPDL_SOURCES += [
'PIndexedDB.ipdl',
'PIndexedDBCursor.ipdl',
'PIndexedDBDatabase.ipdl',
'PIndexedDBDeleteDatabaseRequest.ipdl',
'PIndexedDBIndex.ipdl',
'PIndexedDBObjectStore.ipdl',
'PIndexedDBRequest.ipdl',
'PIndexedDBTransaction.ipdl',
]

View File

@ -1,16 +0,0 @@
# 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/.
IPDLSRCS = \
DOMTypes.ipdlh \
PBlob.ipdl \
PBlobStream.ipdl \
PBrowser.ipdl \
PContent.ipdl \
PContentDialog.ipdl \
PCrashReporter.ipdl \
PDocumentRenderer.ipdl \
PContentPermissionRequest.ipdl \
PMemoryReportRequest.ipdl \
$(NULL)

View File

@ -57,3 +57,15 @@ CPP_SOURCES += [
'TabMessageUtils.cpp',
]
IPDL_SOURCES += [
'DOMTypes.ipdlh',
'PBlob.ipdl',
'PBlobStream.ipdl',
'PBrowser.ipdl',
'PContent.ipdl',
'PContentDialog.ipdl',
'PContentPermissionRequest.ipdl',
'PCrashReporter.ipdl',
'PDocumentRenderer.ipdl',
'PMemoryReportRequest.ipdl',
]

View File

@ -66,3 +66,9 @@ CPP_SOURCES += [
'SmsServicesFactory.cpp',
]
IPDL_SOURCES += [
'ipc/PMobileMessageCursor.ipdl',
'ipc/PSms.ipdl',
'ipc/PSmsRequest.ipdl',
'ipc/SmsTypes.ipdlh',
]

View File

@ -39,3 +39,7 @@ if CONFIG['MOZ_B2G_RIL']:
'NetworkStatsManager.js',
'NetworkStatsManager.manifest',
]
IPDL_SOURCES += [
'PTCPSocket.ipdl',
]

View File

@ -1,15 +0,0 @@
# 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/.
IPDLSRCS = \
PPluginBackgroundDestroyer.ipdl \
PPluginModule.ipdl \
PPluginIdentifier.ipdl \
PPluginInstance.ipdl \
PPluginScriptableObject.ipdl \
PBrowserStream.ipdl \
PPluginStream.ipdl \
PStreamNotify.ipdl \
PPluginSurface.ipdl \
$(NULL)

View File

@ -85,9 +85,20 @@ CPP_SOURCES += [
'PluginStreamParent.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
CMMSRCS += [
'PluginInterposeOSX.mm',
'PluginUtilsOSX.mm',
]
IPDL_SOURCES += [
'PBrowserStream.ipdl',
'PPluginBackgroundDestroyer.ipdl',
'PPluginIdentifier.ipdl',
'PPluginInstance.ipdl',
'PPluginModule.ipdl',
'PPluginScriptableObject.ipdl',
'PPluginStream.ipdl',
'PPluginSurface.ipdl',
'PStreamNotify.ipdl',
]

View File

@ -19,3 +19,6 @@ CPP_SOURCES += [
'DOMStorageObserver.cpp',
]
IPDL_SOURCES += [
'PStorage.ipdl',
]

View File

@ -1,14 +0,0 @@
# 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/.
IPDLSRCS = \
LayersSurfaces.ipdlh \
LayerTransaction.ipdlh \
PCompositable.ipdl \
PCompositor.ipdl \
PGrallocBuffer.ipdl \
PImageBridge.ipdl \
PLayer.ipdl \
PLayerTransaction.ipdl \
$(NULL)

View File

@ -248,3 +248,13 @@ CPP_SOURCES += [
'YCbCrImageDataSerializer.cpp',
]
IPDL_SOURCES = [
'ipc/LayerTransaction.ipdlh',
'ipc/LayersSurfaces.ipdlh',
'ipc/PCompositable.ipdl',
'ipc/PCompositor.ipdl',
'ipc/PGrallocBuffer.ipdl',
'ipc/PImageBridge.ipdl',
'ipc/PLayer.ipdl',
'ipc/PLayerTransaction.ipdl',
]

View File

@ -145,3 +145,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
'CocoaSensor.mm',
'smslib.mm',
]
IPDL_SOURCES = [
'sandbox/PHal.ipdl',
]

View File

@ -1,7 +0,0 @@
# 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/.
IPDLSRCS = \
PHal.ipdl \
$(NULL)

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
InputStreamParams.ipdlh \
URIParams.ipdlh \
$(NULL)

View File

@ -96,3 +96,7 @@ CPP_SOURCES += [
'URIUtils.cpp',
]
IPDL_SOURCES = [
'InputStreamParams.ipdlh',
'URIParams.ipdlh',
]

View File

@ -17,54 +17,8 @@ FORCE_STATIC_LIB = 1
LIBXUL_LIBRARY = 1
EXPORT_LIBRARY = 1
##-----------------------------------------------------------------------------
## When you add IPDL files to a source directory, list the directory here.
##
IPDLDIRS = \
uriloader/exthandler \
content/media/webspeech/synth/ipc \
dom/devicestorage \
dom/indexedDB/ipc \
dom/bluetooth/ipc \
dom/plugins/ipc \
dom/ipc \
dom/mobilemessage/src/ipc \
dom/src/storage \
dom/network/src \
gfx/layers/ipc \
hal/sandbox \
ipc/glue \
ipc/testshell \
js/ipc \
layout/ipc \
netwerk/ipc \
netwerk/protocol/ftp \
netwerk/protocol/http \
netwerk/protocol/wyciwyg \
netwerk/protocol/websocket \
netwerk/cookie \
uriloader/prefetch \
$(NULL)
ifdef MOZ_IPDL_TESTS #{
IPDLDIRS += ipc/ipdl/test/cxx
endif #}
##-----------------------------------------------------------------------------
vpath %.ipdl $(topsrcdir)
vpath %.ipdlh $(topsrcdir)
define ADD_IPDLDIR
include $(topsrcdir)/$(IPDLDIR)/ipdl.mk
ALL_IPDLSRCS += $$(IPDLSRCS:%=$(IPDLDIR)/%)
PROTOCOLS += $$(IPDLSRCS)
endef
ALL_IPDLSRCS :=
PROTOCOLS :=
$(foreach IPDLDIR,$(IPDLDIRS),$(eval $(ADD_IPDLDIR)))
# This file is generated by the moz.build backend.
include ipdlsrcs.mk
GARBAGE += $(CPPSRCS)
@ -84,7 +38,7 @@ export:: $(ALL_IPDLSRCS)
$(srcdir)/ipdl.py \
--outheaders-dir=_ipdlheaders \
--outcpp-dir=. \
$(IPDLDIRS:%=-I$(topsrcdir)/%) \
$(IPDLDIRS:%=-I%) \
$^
# We #include some things in the dom/plugins/ directory that rely on

View File

@ -8,11 +8,3 @@ if CONFIG['MOZ_IPDL_TESTS']:
DIRS += ['test']
MODULE = 'ipdlgen'
CPP_SOURCES += [
'$(PROTOCOLS:%.ipdl=%.cpp)',
'$(PROTOCOLS:%.ipdl=%Child.cpp)',
'$(PROTOCOLS:%.ipdl=%Parent.cpp)',
'$(PROTOCOLS:%.ipdlh=%.cpp)',
]

View File

@ -1,57 +0,0 @@
IPDLSRCS = \
PTestActorPunning.ipdl \
PTestActorPunningPunned.ipdl \
PTestActorPunningSub.ipdl \
PTestBridgeMain.ipdl \
PTestBridgeSub.ipdl \
PTestBridgeMainSub.ipdl \
PTestCrashCleanup.ipdl \
PTestDataStructures.ipdl \
PTestDataStructuresCommon.ipdlh \
PTestDataStructuresSub.ipdl \
PTestDesc.ipdl \
PTestDescSub.ipdl \
PTestDescSubsub.ipdl \
PTestFailedCtor.ipdl \
PTestFailedCtorSub.ipdl \
PTestFailedCtorSubsub.ipdl \
PTestHandle.ipdl \
PTestHangs.ipdl \
PTestJSON.ipdl \
PTestLatency.ipdl \
PTestManyChildAllocs.ipdl \
PTestManyChildAllocsSub.ipdl \
PTestMultiMgrs.ipdl \
PTestMultiMgrsLeft.ipdl \
PTestMultiMgrsRight.ipdl \
PTestMultiMgrsBottom.ipdl \
PTestNestedLoops.ipdl \
PTestOpens.ipdl \
PTestOpensOpened.ipdl \
PTestRaceDeferral.ipdl \
PTestRacyReentry.ipdl \
PTestRacyRPCReplies.ipdl \
PTestRacyUndefer.ipdl \
PTestRPCErrorCleanup.ipdl \
PTestRPCRaces.ipdl \
PTestRPCShutdownRace.ipdl \
PTestSanity.ipdl \
PTestSelfManage.ipdl \
PTestSelfManageRoot.ipdl \
PTestShmem.ipdl \
PTestShutdown.ipdl \
PTestShutdownSub.ipdl \
PTestShutdownSubsub.ipdl \
PTestStackHooks.ipdl \
PTestSyncError.ipdl \
PTestSyncHang.ipdl \
PTestSyncWakeup.ipdl \
PTestSysVShmem.ipdl \
PTestBadActor.ipdl \
PTestBadActorSub.ipdl \
PTestUrgency.ipdl \
PTestIndirectProtocolParam.ipdlh \
PTestIndirectProtocolParamManage.ipdl \
PTestIndirectProtocolParamFirst.ipdl \
PTestIndirectProtocolParamSecond.ipdl \
$(NULL)

View File

@ -22,3 +22,60 @@ CPP_SOURCES += [
'IPDLUnitTests.cpp',
]
IPDL_SOURCES += [
'PTestActorPunning.ipdl',
'PTestActorPunningPunned.ipdl',
'PTestActorPunningSub.ipdl',
'PTestBadActor.ipdl',
'PTestBadActorSub.ipdl',
'PTestBridgeMain.ipdl',
'PTestBridgeMainSub.ipdl',
'PTestBridgeSub.ipdl',
'PTestCrashCleanup.ipdl',
'PTestDataStructures.ipdl',
'PTestDataStructuresCommon.ipdlh',
'PTestDataStructuresSub.ipdl',
'PTestDesc.ipdl',
'PTestDescSub.ipdl',
'PTestDescSubsub.ipdl',
'PTestFailedCtor.ipdl',
'PTestFailedCtorSub.ipdl',
'PTestFailedCtorSubsub.ipdl',
'PTestHandle.ipdl',
'PTestHangs.ipdl',
'PTestIndirectProtocolParam.ipdlh',
'PTestIndirectProtocolParamFirst.ipdl',
'PTestIndirectProtocolParamManage.ipdl',
'PTestIndirectProtocolParamSecond.ipdl',
'PTestJSON.ipdl',
'PTestLatency.ipdl',
'PTestManyChildAllocs.ipdl',
'PTestManyChildAllocsSub.ipdl',
'PTestMultiMgrs.ipdl',
'PTestMultiMgrsBottom.ipdl',
'PTestMultiMgrsLeft.ipdl',
'PTestMultiMgrsRight.ipdl',
'PTestNestedLoops.ipdl',
'PTestOpens.ipdl',
'PTestOpensOpened.ipdl',
'PTestRPCErrorCleanup.ipdl',
'PTestRPCRaces.ipdl',
'PTestRPCShutdownRace.ipdl',
'PTestRaceDeferral.ipdl',
'PTestRacyRPCReplies.ipdl',
'PTestRacyReentry.ipdl',
'PTestRacyUndefer.ipdl',
'PTestSanity.ipdl',
'PTestSelfManage.ipdl',
'PTestSelfManageRoot.ipdl',
'PTestShmem.ipdl',
'PTestShutdown.ipdl',
'PTestShutdownSub.ipdl',
'PTestShutdownSubsub.ipdl',
'PTestStackHooks.ipdl',
'PTestSyncError.ipdl',
'PTestSyncHang.ipdl',
'PTestSyncWakeup.ipdl',
'PTestSysVShmem.ipdl',
'PTestUrgency.ipdl',
]

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
PTestShell.ipdl \
PTestShellCommand.ipdl \
$(NULL)

View File

@ -21,3 +21,8 @@ CPP_SOURCES += [
'TestShellParent.cpp',
'XPCShellEnvironment.cpp',
]
IPDL_SOURCES = [
'PTestShell.ipdl',
'PTestShellCommand.ipdl',
]

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
JavaScriptTypes.ipdlh \
PJavaScript.ipdl \
$(NULL)

View File

@ -12,3 +12,7 @@ CPP_SOURCES += [
'JavaScriptShared.cpp',
]
IPDL_SOURCES += [
'JavaScriptTypes.ipdlh',
'PJavaScript.ipdl',
]

View File

@ -1,7 +0,0 @@
# 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/.
IPDLSRCS = \
PRenderFrame.ipdl \
$(NULL)

View File

@ -17,3 +17,6 @@ CPP_SOURCES += [
'RenderFrameParent.cpp',
]
IPDL_SOURCES = [
'PRenderFrame.ipdl',
]

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
PCookieService.ipdl \
$(NULL)

View File

@ -35,3 +35,7 @@ if CONFIG['NECKO_COOKIES']:
# FIXME/bug 575918: out-of-process xpcshell is broken on OS X
if CONFIG['NECKO_COOKIES'] and CONFIG['OS_ARCH'] != 'Darwin':
XPCSHELL_TESTS_MANIFESTS += ['test/unit_ipc/xpcshell.ini']
IPDL_SOURCES = [
'PCookieService.ipdl',
]

View File

@ -1,10 +0,0 @@
# 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/.
IPDLSRCS = \
PNecko.ipdl \
PRemoteOpenFile.ipdl \
NeckoChannelParams.ipdlh \
$(NULL)

View File

@ -31,3 +31,8 @@ CPP_SOURCES += [
'RemoteOpenFileParent.cpp',
]
IPDL_SOURCES = [
'NeckoChannelParams.ipdlh',
'PNecko.ipdl',
'PRemoteOpenFile.ipdl',
]

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
PFTPChannel.ipdl \
$(NULL)

View File

@ -30,3 +30,6 @@ CPP_SOURCES += [
'nsFtpProtocolHandler.cpp',
]
IPDL_SOURCES += [
'PFTPChannel.ipdl',
]

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
PHttpChannel.ipdl \
$(NULL)

View File

@ -77,6 +77,9 @@ CPP_SOURCES += [
'nsHttpTransaction.cpp',
]
IPDL_SOURCES += [
'PHttpChannel.ipdl',
]
EXTRA_JS_MODULES += [
'UserAgentOverrides.jsm',
]

View File

@ -1,7 +0,0 @@
# 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/.
IPDLSRCS = \
PWebSocket.ipdl \
$(NULL)

View File

@ -27,3 +27,6 @@ CPP_SOURCES += [
'WebSocketChannelParent.cpp',
]
IPDL_SOURCES += [
'PWebSocket.ipdl',
]

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
PWyciwygChannel.ipdl \
$(NULL)

View File

@ -29,3 +29,6 @@ CPP_SOURCES += [
'nsWyciwygProtocolHandler.cpp',
]
IPDL_SOURCES += [
'PWyciwygChannel.ipdl',
]

View File

@ -9,6 +9,7 @@ import logging
import os
import types
import mozpack.path
from mozpack.copier import FilePurger
from mozpack.manifests import PurgeManifest
@ -16,6 +17,7 @@ from .base import BuildBackend
from ..frontend.data import (
ConfigFileSubstitution,
DirectoryTraversal,
IPDLFile,
SandboxDerived,
VariablePassthru,
Exports,
@ -110,6 +112,7 @@ class RecursiveMakeBackend(BuildBackend):
def _init(self):
self._backend_files = {}
self._ipdl_sources = set()
self.summary.managed_count = 0
self.summary.created_count = 0
@ -177,6 +180,9 @@ class RecursiveMakeBackend(BuildBackend):
elif isinstance(obj, Exports):
self._process_exports(obj.exports, backend_file)
elif isinstance(obj, IPDLFile):
self._ipdl_sources.add(mozpack.path.join(obj.srcdir, obj.basename))
elif isinstance(obj, Program):
self._process_program(obj.program, backend_file)
@ -234,6 +240,28 @@ class RecursiveMakeBackend(BuildBackend):
self._update_from_avoid_write(bf.close())
self.summary.managed_count += 1
# Write out a master list of all IPDL source files.
ipdls = FileAvoidWrite(os.path.join(self.environment.topobjdir,
'ipc', 'ipdl', 'ipdlsrcs.mk'))
for p in sorted(self._ipdl_sources):
ipdls.write('ALL_IPDLSRCS += %s\n' % p)
base = os.path.basename(p)
root, ext = os.path.splitext(base)
# Both .ipdl and .ipdlh become .cpp files
ipdls.write('CPPSRCS += %s.cpp\n' % root)
if ext == '.ipdl':
# .ipdl also becomes Child/Parent.cpp files
ipdls.write('CPPSRCS += %sChild.cpp\n' % root)
ipdls.write('CPPSRCS += %sParent.cpp\n' % root)
ipdls.write('IPDLDIRS := %s\n' % ' '.join(sorted(set(os.path.dirname(p)
for p in self._ipdl_sources))))
self._update_from_avoid_write(ipdls.close())
self.summary.managed_count += 1
# Write out a dependency file used to determine whether a config.status
# re-run is needed.
backend_built_path = os.path.join(self.environment.topobjdir,

View File

@ -149,6 +149,18 @@ class Exports(SandboxDerived):
SandboxDerived.__init__(self, sandbox)
self.exports = exports
class IPDLFile(SandboxDerived):
"""Describes an individual .ipdl source file."""
__slots__ = (
'basename',
)
def __init__(self, sandbox, path):
SandboxDerived.__init__(self, sandbox)
self.basename = path
class Program(SandboxDerived):
"""Sandbox container object for PROGRAM, which is a unicode string.

View File

@ -10,6 +10,7 @@ from .data import (
ConfigFileSubstitution,
DirectoryTraversal,
Exports,
IPDLFile,
Program,
ReaderSummary,
VariablePassthru,
@ -123,6 +124,9 @@ class TreeMetadataEmitter(object):
for manifest in sandbox.get('XPCSHELL_TESTS_MANIFESTS', []):
yield XpcshellManifests(sandbox, manifest)
for ipdl in sandbox.get('IPDL_SOURCES', []):
yield IPDLFile(sandbox, ipdl)
def _emit_directory_traversal_from_sandbox(self, sandbox):
o = DirectoryTraversal(sandbox)
o.dirs = sandbox.get('DIRS', [])

View File

@ -341,6 +341,12 @@ VARIABLES = {
directories to search for included .idl files.
"""),
'IPDL_SOURCES': (StrictOrderingOnAppendList, list, [],
"""IPDL source files.
These are .ipdl files that will be parsed and converted to .cpp files.
"""),
'XPCSHELL_TESTS_MANIFESTS': (StrictOrderingOnAppendList, list, [],
"""XPCSHELL Test Manifest list

View File

@ -70,6 +70,11 @@ CONFIGS = {
('XPCSHELL_TESTS_MANIFESTS', 'XPCSHELL_TESTS'),
],
},
'ipdl_sources': {
'defines': [],
'non_global_defines': [],
'substs': [],
},
}

View File

@ -1,7 +1,10 @@
# -*- Mode: python; c-basic-offset: 4; 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/.
IPDLSRCS = \
PDeviceStorageRequest.ipdl \
$(NULL)
IPDL_SOURCES += [
'bar.ipdl',
'bar2.ipdlh',
]

View File

@ -1,7 +1,10 @@
# -*- Mode: python; c-basic-offset: 4; 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/.
IPDLSRCS = \
PStorage.ipdl \
$(NULL)
IPDL_SOURCES += [
'foo.ipdl',
'foo2.ipdlh',
]

View File

@ -1,10 +1,10 @@
# -*- Mode: python; c-basic-offset: 4; 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/.
IPDLSRCS = \
SmsTypes.ipdlh \
PSms.ipdl \
PSmsRequest.ipdl \
PMobileMessageCursor.ipdl \
$(NULL)
DIRS += [
'bar',
'foo',
]

View File

@ -317,6 +317,33 @@ class TestRecursiveMakeBackend(BackendTester):
self._consume('stub0', RecursiveMakeBackend, env)
self.assertFalse(os.path.exists(manifest_path))
def test_ipdl_sources(self):
"""Test that IPDL_SOURCES are written to ipdlsrcs.mk correctly."""
env = self._consume('ipdl_sources', RecursiveMakeBackend)
manifest_path = os.path.join(env.topobjdir,
'ipc', 'ipdl', 'ipdlsrcs.mk')
lines = [l.strip() for l in open(manifest_path, 'rt').readlines()]
# Handle Windows paths correctly
topsrcdir = env.topsrcdir.replace(os.sep, '/')
expected = [
"ALL_IPDLSRCS += %s/bar/bar.ipdl" % topsrcdir,
"CPPSRCS += bar.cpp",
"CPPSRCS += barChild.cpp",
"CPPSRCS += barParent.cpp",
"ALL_IPDLSRCS += %s/bar/bar2.ipdlh" % topsrcdir,
"CPPSRCS += bar2.cpp",
"ALL_IPDLSRCS += %s/foo/foo.ipdl" % topsrcdir,
"CPPSRCS += foo.cpp",
"CPPSRCS += fooChild.cpp",
"CPPSRCS += fooParent.cpp",
"ALL_IPDLSRCS += %s/foo/foo2.ipdlh" % topsrcdir,
"CPPSRCS += foo2.cpp",
"IPDLDIRS := %s/bar %s/foo" % (topsrcdir, topsrcdir),
]
self.assertEqual(lines, expected)
if __name__ == '__main__':
main()

View File

@ -0,0 +1,10 @@
# -*- Mode: python; c-basic-offset: 4; 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/.
IPDL_SOURCES += [
'bar.ipdl',
'bar2.ipdlh',
]

View File

@ -0,0 +1,10 @@
# -*- Mode: python; c-basic-offset: 4; 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/.
IPDL_SOURCES += [
'foo.ipdl',
'foo2.ipdlh',
]

View File

@ -1,7 +1,10 @@
# -*- Mode: python; c-basic-offset: 4; 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/.
IPDLSRCS = \
PTCPSocket.ipdl \
$(NULL)
DIRS += [
'bar',
'foo',
]

View File

@ -17,6 +17,7 @@ from mozbuild.frontend.data import (
Exports,
Program,
XpcshellManifests,
IPDLFile,
)
from mozbuild.frontend.emitter import TreeMetadataEmitter
from mozbuild.frontend.reader import BuildReader
@ -222,5 +223,23 @@ class TestEmitterBasic(unittest.TestCase):
self.assertEqual(sorted(inis), iniByDir)
def test_ipdl_sources(self):
reader = self.reader('ipdl_sources')
objs = self.read_topsrcdir(reader)
ipdls = []
for o in objs:
if isinstance(o, IPDLFile):
ipdls.append('%s/%s' % (o.relativedir, o.basename))
expected = [
'bar/bar.ipdl',
'bar/bar2.ipdlh',
'foo/foo.ipdl',
'foo/foo2.ipdlh',
]
self.assertEqual(ipdls, expected)
if __name__ == '__main__':
main()

View File

@ -1,7 +0,0 @@
# 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/.
IPDLSRCS = \
PExternalHelperApp.ipdl \
$(NULL)

View File

@ -111,3 +111,7 @@ if CONFIG['MOZ_ENABLE_CONTENTACTION']:
CPP_SOURCES += [
'nsContentHandlerApp.cpp',
]
IPDL_SOURCES += [
'PExternalHelperApp.ipdl',
]

View File

@ -1,8 +0,0 @@
# 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/.
IPDLSRCS = \
POfflineCacheUpdate.ipdl \
$(NULL)

View File

@ -29,3 +29,6 @@ CPP_SOURCES += [
'nsPrefetchService.cpp',
]
IPDL_SOURCES += [
'POfflineCacheUpdate.ipdl',
]