dom/plugins/ipc/moz.build
author Gregory Szorc <gps@mozilla.com>
Wed, 16 Mar 2016 15:27:32 -0700
changeset 289650 f17a9b5483168647a9c50cd2ab0ef1534d9d0715
parent 288619 ea5cbcad14d3685091d6839e77ed62f4d2d3dfe4
child 289652 272ec90eff7159e1c04a7aa588e4fc74e34873b0
permissions -rw-r--r--
Bug 1257346 - Disable C4312 to unblock compilation on VS2015; r=aklotz As part of unblocking building with VS2015u1 in automation, I'm mass disabling compiler warnings that are turned into errors. This is not the preferred mechanism to fix compilation warnings. So hopefully this patch never lands because someone insists on fixing the underlying problem instead. But if it does land, hopefully the workaround is only temporary. MozReview-Commit-ID: BgLmpUa09c6

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

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    DIRS += ['interpose']

EXPORTS.mozilla += [
    'PluginLibrary.h',
]

EXPORTS.mozilla.plugins += [
    'AStream.h',
    'BrowserStreamChild.h',
    'BrowserStreamParent.h',
    'ChildAsyncCall.h',
    'ChildTimer.h',
    'NPEventAndroid.h',
    'NPEventOSX.h',
    'NPEventUnix.h',
    'NPEventWindows.h',
    'PluginAsyncSurrogate.h',
    'PluginBridge.h',
    'PluginDataResolver.h',
    'PluginInstanceChild.h',
    'PluginInstanceParent.h',
    'PluginMessageUtils.h',
    'PluginModuleChild.h',
    'PluginModuleParent.h',
    'PluginProcessChild.h',
    'PluginProcessParent.h',
    'PluginQuirks.h',
    'PluginScriptableObjectChild.h',
    'PluginScriptableObjectParent.h',
    'PluginScriptableObjectUtils-inl.h',
    'PluginScriptableObjectUtils.h',
    'PluginStreamChild.h',
    'PluginStreamParent.h',
    'PluginUtilsOSX.h',
    'PluginWidgetChild.h',
    'PluginWidgetParent.h',
    'StreamNotifyChild.h',
    'StreamNotifyParent.h',
    'TaskFactory.h',
]

if CONFIG['OS_ARCH'] == 'WINNT':
    EXPORTS.mozilla.plugins += [
        'PluginSurfaceParent.h',
    ]
    UNIFIED_SOURCES += [
        'PluginHangUIParent.cpp',
        'PluginSurfaceParent.cpp',
    ]
    SOURCES += [
        'MiniShmParent.cpp', # Issues with CreateEvent
    ]
    DEFINES['MOZ_HANGUI_PROCESS_NAME'] = '"plugin-hang-ui%s"' % CONFIG['BIN_SUFFIX']
    LOCAL_INCLUDES += [
        '/widget',
        'hangui',
    ]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    EXPORTS.mozilla.plugins += [
        'PluginInterposeOSX.h',
    ]

if CONFIG['MOZ_ENABLE_QT']:
    SOURCES += [
        '!moc_NestedLoopTimer.cpp',
        'NestedLoopTimer.cpp',
        'PluginHelperQt.cpp',
    ]

UNIFIED_SOURCES += [
    'BrowserStreamChild.cpp',
    'BrowserStreamParent.cpp',
    'ChildAsyncCall.cpp',
    'ChildTimer.cpp',
    'PluginAsyncSurrogate.cpp',
    'PluginBackgroundDestroyer.cpp',
    'PluginInstanceParent.cpp',
    'PluginMessageUtils.cpp',
    'PluginModuleParent.cpp',
    'PluginProcessChild.cpp',
    'PluginProcessParent.cpp',
    'PluginQuirks.cpp',
    'PluginScriptableObjectChild.cpp',
    'PluginScriptableObjectParent.cpp',
    'PluginStreamChild.cpp',
    'PluginStreamParent.cpp',
]

SOURCES += [
    'PluginInstanceChild.cpp', # 'PluginThreadCallback' : ambiguous symbol
    'PluginModuleChild.cpp',   # Redefinition of mozilla::WindowsDllInterceptor sUser32Intercept
    'PluginWidgetChild.cpp',
    'PluginWidgetParent.cpp',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    UNIFIED_SOURCES += [
        'PluginInterposeOSX.mm',
        'PluginUtilsOSX.mm',
    ]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
    UNIFIED_SOURCES += [
        'D3D11SurfaceHolder.cpp',
    ]

IPDL_SOURCES += [
    'PBrowserStream.ipdl',
    'PluginTypes.ipdlh',
    'PPluginBackgroundDestroyer.ipdl',
    'PPluginInstance.ipdl',
    'PPluginModule.ipdl',
    'PPluginScriptableObject.ipdl',
    'PPluginStream.ipdl',
    'PPluginSurface.ipdl',
    'PStreamNotify.ipdl',
]

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

FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
    '../base',
    '/xpcom/base/',
]

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

DEFINES['FORCE_PR_LOG'] = True

if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gtk3':
    CXXFLAGS += CONFIG['TK_CFLAGS']
else:
    # Force build against gtk+2 for struct offsets and such.
    CXXFLAGS += CONFIG['MOZ_GTK2_CFLAGS']

CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']

if CONFIG['_MSC_VER']:
    # This is intended as a temporary hack to support building with VS2015.
    # conversion from 'X' to 'Y' requires a narrowing conversion
    CXXFLAGS += ['-wd4838']

    # 'type cast': conversion from 'unsigned int' to 'HIMC' of greater size
    SOURCES['PluginInstanceChild.cpp'].flags += ['-wd4312']
    SOURCES['PluginScriptableObjectChild.cpp'].flags += ['-wd4312']