dom/ipc/moz.build
author Kershaw Chang <kershaw@mozilla.com>
Fri, 11 Jan 2019 18:57:23 +0000
changeset 453535 c083f11eb58d
parent 453480 3f76ed638d83
child 455153 b0b61b6a4014
permissions -rw-r--r--
Bug 1513057 - P1: Start the new socket process basics (prefs, full xpcom init, logging, no sandboxing) r=mayhemer,dragana Differential Revision: https://phabricator.services.mozilla.com/D14148

# -*- 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/.

with Files("**"):
    BUG_COMPONENT = ("Core", "DOM: Content Processes")

XPIDL_SOURCES += [
    'nsIHangReport.idl',
]

XPIDL_MODULE = 'dom'

EXTRA_JS_MODULES += [
    'ManifestMessagesChild.jsm',
]

EXPORTS.mozilla.dom.ipc += [
    'IdType.h',
    'MemMapSnapshot.h',
    'SharedMap.h',
    'SharedMapChangeEvent.h',
    'SharedStringMap.h',
    'StringTable.h',
    'StructuredCloneData.h',
]

EXPORTS.mozilla.dom += [
    'CoalescedInputData.h',
    'CoalescedMouseData.h',
    'CoalescedWheelData.h',
    'ContentBridgeChild.h',
    'ContentBridgeParent.h',
    'ContentChild.h',
    'ContentParent.h',
    'ContentProcess.h',
    'ContentProcessManager.h',
    'CPOWManagerGetter.h',
    'DocShellMessageUtils.h',
    'FilePickerParent.h',
    'JSWindowActorService.h',
    'MemoryReportRequest.h',
    'nsIContentChild.h',
    'nsIContentParent.h',
    'PermissionMessageUtils.h',
    'TabChild.h',
    'TabContext.h',
    'TabMessageUtils.h',
    'TabParent.h',
    'URLClassifierChild.h',
    'URLClassifierParent.h',
    'WindowGlobalChild.h',
    'WindowGlobalParent.h',
]

EXPORTS.mozilla += [
    'PreallocatedProcessManager.h',
    'ProcessHangMonitor.h',
    'ProcessHangMonitorIPC.h',
    'ProcessPriorityManager.h',
]

UNIFIED_SOURCES += [
    'CoalescedMouseData.cpp',
    'CoalescedWheelData.cpp',
    'ColorPickerParent.cpp',
    'ContentBridgeChild.cpp',
    'ContentBridgeParent.cpp',
    'ContentParent.cpp',
    'ContentProcess.cpp',
    'ContentProcessManager.cpp',
    'DocShellMessageUtils.cpp',
    'FilePickerParent.cpp',
    'JSWindowActorService.cpp',
    'MemMapSnapshot.cpp',
    'MemoryReportRequest.cpp',
    'MMPrinter.cpp',
    'nsIContentChild.cpp',
    'nsIContentParent.cpp',
    'PermissionMessageUtils.cpp',
    'PreallocatedProcessManager.cpp',
    'ProcessPriorityManager.cpp',
    'SharedMap.cpp',
    'SharedStringMap.cpp',
    'StructuredCloneData.cpp',
    'TabChild.cpp',
    'TabContext.cpp',
    'TabMessageUtils.cpp',
    'TabParent.cpp',
    'URLClassifierParent.cpp',
    'WindowGlobalChild.cpp',
    'WindowGlobalParent.cpp',
]

# ContentChild.cpp cannot be compiled in unified mode on  linux due to Time conflict
SOURCES += [
    'ContentChild.cpp',
    'ProcessHangMonitor.cpp',
]

IPDL_SOURCES += [
    'DOMTypes.ipdlh',
    'MemoryReportTypes.ipdlh',
    'PBrowser.ipdl',
    'PBrowserOrId.ipdlh',
    'PColorPicker.ipdl',
    'PContent.ipdl',
    'PContentBridge.ipdl',
    'PContentPermission.ipdlh',
    'PContentPermissionRequest.ipdl',
    'PCycleCollectWithLogs.ipdl',
    'PFilePicker.ipdl',
    'PLoginReputation.ipdl',
    'PPluginWidget.ipdl',
    'PProcessHangMonitor.ipdl',
    'PrefsTypes.ipdlh',
    'PTabContext.ipdlh',
    'PURLClassifier.ipdl',
    'PURLClassifierInfo.ipdlh',
    'PURLClassifierLocal.ipdl',
    'PWindowGlobal.ipdl',
    'ServiceWorkerConfiguration.ipdlh',
]

include('/ipc/chromium/chromium-config.mozbuild')

FINAL_LIBRARY = 'xul'

if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_TARGET'] == 'Darwin':
    USE_LIBS += [
        'mozsandbox',
    ]

if CONFIG['MOZ_CONTENT_SANDBOX'] and CONFIG['OS_ARCH'] == 'Linux':
    USE_LIBS += [
        'mozsandbox',
    ]

LOCAL_INCLUDES += [
    '/caps',
    '/chrome',
    '/docshell/base',
    '/dom/base',
    '/dom/bindings',
    '/dom/events',
    '/dom/filesystem',
    '/dom/geolocation',
    '/dom/media/webspeech/synth/ipc',
    '/dom/security',
    '/extensions/cookie',
    '/extensions/spellcheck/src',
    '/gfx/2d',
    '/hal/sandbox',
    '/js/xpconnect/loader',
    '/js/xpconnect/src',
    '/layout/base',
    '/media/webrtc',
    '/netwerk/base',
    '/toolkit/components/printingui/ipc',
    '/toolkit/crashreporter',
    '/toolkit/xre',
    '/uriloader/exthandler',
    '/widget',
    '/xpcom/base',
    '/xpcom/threads',
]

if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
    LOCAL_INCLUDES += [
        '/security/sandbox/chromium',
        '/security/sandbox/chromium-shim',
    ]

if CONFIG['OS_ARCH'] != 'WINNT':
    LOCAL_INCLUDES += [
        '/modules/libjar',
    ]

DEFINES['BIN_SUFFIX'] = '"%s"' % CONFIG['BIN_SUFFIX']

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
    DEFINES['MOZ_ENABLE_FREETYPE'] = True

if CONFIG['MOZ_TOOLKIT_SEARCH']:
    DEFINES['MOZ_TOOLKIT_SEARCH'] = True

JAR_MANIFESTS += ['jar.mn']

BROWSER_CHROME_MANIFESTS += ['tests/browser.ini']
MOCHITEST_CHROME_MANIFESTS += ['tests/chrome.ini']
MOCHITEST_MANIFESTS += ['tests/mochitest.ini']
XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell.ini']

CXXFLAGS += CONFIG['TK_CFLAGS']

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    CXXFLAGS += ['-Wno-error=shadow']

if CONFIG['FUZZING'] and CONFIG['FUZZING_INTERFACES']:
    TEST_DIRS += [
        'fuzztest'
    ]

# Add libFuzzer configuration directives
include('/tools/fuzzing/libfuzzer-config.mozbuild')