gfx/vr/moz.build
author Masatoshi Kimura <VYV03354@nifty.ne.jp>
Tue, 31 Jul 2018 22:10:07 +0900
changeset 485348 997fd8419a4b28cdaaf3263e88dcad585ccfb101
parent 484986 f7f4ba3486b5e44b6ccdc3b150f5aa0aab76ffb7
child 487586 57c32dd4f6e6ac28787e207f6854b9e0ab4ede65
permissions -rw-r--r--
Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj

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

EXPORTS += [
    'external_api/moz_external_vr.h',
    'gfxVR.h',
    'ipc/VRLayerChild.h',
    'ipc/VRManagerChild.h',
    'ipc/VRManagerParent.h',
    'ipc/VRMessageUtils.h',
    'VRDisplayClient.h',
    'VRDisplayPresentation.h',
    'VRManager.h',
    'VRThread.h',
]

LOCAL_INCLUDES += [
    '/dom/base',
    '/gfx/layers/d3d11',
    '/gfx/thebes',
]

UNIFIED_SOURCES += [
    'gfxVR.cpp',
    'ipc/VRLayerChild.cpp',
    'ipc/VRLayerParent.cpp',
    'ipc/VRManagerChild.cpp',
    'ipc/VRManagerParent.cpp',
    'VRDisplayClient.cpp',
    'VRDisplayPresentation.cpp',
    'VRManager.cpp',
    'VRThread.cpp',
]

if CONFIG['OS_TARGET'] != 'Android':
    UNIFIED_SOURCES += [
        'gfxVROSVR.cpp',
    ]

# VRDisplayHost includes MacIOSurface.h which includes Mac headers
# which define Size and Points types in the root namespace that
# often conflict with our own types.
SOURCES += [
    'gfxVRExternal.cpp',
    'gfxVRPuppet.cpp',
    'VRDisplayHost.cpp',
    'VRDisplayLocal.cpp',
]

# Build OpenVR on Windows, Linux, and macOS desktop targets
if CONFIG['OS_TARGET'] in ('WINNT', 'Linux', 'Darwin'):
    DIRS += [
        'openvr',
        'service',
    ]
    SOURCES += [
        'gfxVROpenVR.cpp',
    ]

if CONFIG['OS_TARGET'] == 'WINNT':
    SOURCES += [
        'gfxVROculus.cpp',
    ]

if CONFIG['OS_TARGET'] == 'Android':
    LOCAL_INCLUDES += ['/widget/android']

IPDL_SOURCES = [
    'ipc/PVRLayer.ipdl',
    'ipc/PVRManager.ipdl',
]

# For building with the real SDK instead of our local hack
#SOURCES += [
#    'OVR_CAPI_Util.cpp',
#    'OVR_CAPIShim.c',
#    'OVR_StereoProjection.cpp',
#]
#
#CXXFLAGS += ["-Ic:/proj/ovr/OculusSDK-0.6.0-beta/LibOVR/Include"]
#CFLAGS += ["-Ic:/proj/ovr/OculusSDK-0.6.0-beta/LibOVR/Include"]

CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['TK_CFLAGS']
CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CFLAGS += CONFIG['TK_CFLAGS']

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

FINAL_LIBRARY = 'xul'

# This is intended as a temporary hack to enable VS2015 builds.
if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
    # ovr_capi_dynamic.h '<unnamed-tag>': Alignment specifier is less than
    # actual alignment (8), and will be ignored
    CXXFLAGS += ['-wd4359']

if CONFIG['CC_TYPE'] == 'clang-cl':
    AllowCompilerWarnings()  # workaround for bug 1090497