accessible/ipc/win/handler/moz.build
author Masatoshi Kimura <VYV03354@nifty.ne.jp>
Tue, 31 Jul 2018 22:10:07 +0900
changeset 485348 997fd8419a4b28cdaaf3263e88dcad585ccfb101
parent 484986 f7f4ba3486b5e44b6ccdc3b150f5aa0aab76ffb7
child 492892 5b8dd6f38524a27b81bc39ed5f3224eebe3684ce
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/.

SharedLibrary('AccessibleHandler')

EXPORTS.mozilla.a11y += [
    'AccessibleHandler.h',
    'HandlerDataCleanup.h',
]

LOCAL_INCLUDES += [
    '/accessible/interfaces/ia2',
    '/ipc/mscom/oop',
]

SOURCES += [
    '!dlldata.c',
    '!HandlerData_c.c',
    '!HandlerData_i.c',
    '!HandlerData_p.c',
    'AccessibleHandler.cpp',
    'AccessibleHandlerControl.cpp',
    'HandlerChildEnumerator.cpp',
    'HandlerRelation.cpp',
    'HandlerTextLeaf.cpp',
]

GENERATED_FILES += [
    'dlldata.c',
    'HandlerData.h',
    'HandlerData.tlb',
    'HandlerData_c.c',
    'HandlerData_i.c',
    'HandlerData_p.c',
]

DEFFILE = SRCDIR + '/AccessibleHandler.def'

USE_LIBS += [
    'mscom_oop',
]

OS_LIBS += [
    'rpcrt4',
]

RCINCLUDE = 'AccessibleHandler.rc'

# Suppress warnings from the MIDL generated code.
if CONFIG['CC_TYPE'] == 'clang-cl':
    CFLAGS += [
        '-Wno-extern-initializer',
        '-Wno-incompatible-pointer-types',
        '-Wno-missing-braces',
        '-Wno-unused-const-variable',
    ]

# Since we are defining our own COM entry points (DllRegisterServer et al),
# but we still want to be able to delegate some work to the generated code,
# we add the prefix "Proxy" to all of the generated counterparts.
DEFINES['ENTRY_PREFIX'] = 'Proxy'
DEFINES['REGISTER_PROXY_DLL'] = True
LIBRARY_DEFINES['MOZ_MSCOM_REMARSHAL_NO_HANDLER'] = True

# We want to generate distinct UUIDs on a per-channel basis, so we need
# finer granularity than the standard preprocessor definitions offer.
# These defines allow us to separate local builds from automated builds,
# as well as separate beta from release.
if CONFIG['MOZ_UPDATE_CHANNEL'] == 'default':
  DEFINES['USE_LOCAL_UUID'] = True
elif CONFIG['MOZ_UPDATE_CHANNEL'] == 'beta':
  DEFINES['USE_BETA_UUID'] = True

# This DLL may be loaded into other processes, so we need static libs for
# Windows 7 and Windows 8.
USE_STATIC_LIBS = True

LIBRARY_DEFINES['UNICODE'] = True
LIBRARY_DEFINES['_UNICODE'] = True
LIBRARY_DEFINES['MOZ_NO_MOZALLOC'] = True
DisableStlWrapping()

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