1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2# vim: set filetype=python:
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7SharedLibrary('AccessibleHandler')
8
9EXPORTS.mozilla.a11y += [
10    'AccessibleHandler.h',
11    'HandlerDataCleanup.h',
12]
13
14LOCAL_INCLUDES += [
15    '/accessible/interfaces/ia2',
16    '/ipc/mscom/oop',
17]
18
19SOURCES += [
20    '!dlldata.c',
21    '!HandlerData_c.c',
22    '!HandlerData_i.c',
23    '!HandlerData_p.c',
24    'AccessibleHandler.cpp',
25    'AccessibleHandlerControl.cpp',
26    'HandlerChildEnumerator.cpp',
27    'HandlerRelation.cpp',
28    'HandlerTextLeaf.cpp',
29]
30
31GENERATED_FILES += [
32    'dlldata.c',
33    'HandlerData.h',
34    'HandlerData.tlb',
35    'HandlerData_c.c',
36    'HandlerData_i.c',
37    'HandlerData_p.c',
38]
39
40DEFFILE = SRCDIR + '/AccessibleHandler.def'
41
42USE_LIBS += [
43    'mscom_oop',
44]
45
46OS_LIBS += [
47    'rpcrt4',
48]
49
50RCINCLUDE = 'AccessibleHandler.rc'
51
52# Since we are defining our own COM entry points (DllRegisterServer et al),
53# but we still want to be able to delegate some work to the generated code,
54# we add the prefix "Proxy" to all of the generated counterparts.
55DEFINES['ENTRY_PREFIX'] = 'Proxy'
56DEFINES['REGISTER_PROXY_DLL'] = True
57LIBRARY_DEFINES['MOZ_MSCOM_REMARSHAL_NO_HANDLER'] = True
58
59# We want to generate distinct UUIDs on a per-channel basis, so we need
60# finer granularity than the standard preprocessor definitions offer.
61# These defines allow us to separate local builds from automated builds,
62# as well as separate beta from release.
63if CONFIG['MOZ_UPDATE_CHANNEL'] == 'default':
64  DEFINES['USE_LOCAL_UUID'] = True
65elif CONFIG['MOZ_UPDATE_CHANNEL'] == 'beta':
66  DEFINES['USE_BETA_UUID'] = True
67
68# This DLL may be loaded into other processes, so we need static libs for
69# Windows 7 and Windows 8.
70USE_STATIC_LIBS = True
71
72LIBRARY_DEFINES['UNICODE'] = True
73LIBRARY_DEFINES['_UNICODE'] = True
74LIBRARY_DEFINES['MOZ_NO_MOZALLOC'] = True
75DisableStlWrapping()
76
77