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
7XPIDL_MODULE = "content_geckomediaplugins"
8
9XPIDL_SOURCES += [
10    "mozIGeckoMediaPluginChromeService.idl",
11    "mozIGeckoMediaPluginService.idl",
12]
13
14EXPORTS += [
15    "ChromiumCDMCallback.h",
16    "ChromiumCDMParent.h",
17    "ChromiumCDMProxy.h",
18    "DecryptJob.h",
19    "gmp-api/gmp-entrypoints.h",
20    "gmp-api/gmp-errors.h",
21    "gmp-api/gmp-platform.h",
22    "gmp-api/gmp-storage.h",
23    "gmp-api/gmp-video-codec.h",
24    "gmp-api/gmp-video-decode.h",
25    "gmp-api/gmp-video-encode.h",
26    "gmp-api/gmp-video-frame-encoded.h",
27    "gmp-api/gmp-video-frame-i420.h",
28    "gmp-api/gmp-video-frame.h",
29    "gmp-api/gmp-video-host.h",
30    "gmp-api/gmp-video-plane.h",
31    "GMPCallbackBase.h",
32    "GMPChild.h",
33    "GMPContentChild.h",
34    "GMPContentParent.h",
35    "GMPCrashHelper.h",
36    "GMPCrashHelperHolder.h",
37    "GMPLoader.h",
38    "GMPMessageUtils.h",
39    "GMPParent.h",
40    "GMPPlatform.h",
41    "GMPProcessChild.h",
42    "GMPProcessParent.h",
43    "GMPSanitizedExports.h",
44    "GMPService.h",
45    "GMPServiceChild.h",
46    "GMPServiceParent.h",
47    "GMPSharedMemManager.h",
48    "GMPStorage.h",
49    "GMPStorageChild.h",
50    "GMPStorageParent.h",
51    "GMPTimerChild.h",
52    "GMPTimerParent.h",
53    "GMPUtils.h",
54    "GMPVideoDecoderChild.h",
55    "GMPVideoDecoderParent.h",
56    "GMPVideoDecoderProxy.h",
57    "GMPVideoEncodedFrameImpl.h",
58    "GMPVideoEncoderChild.h",
59    "GMPVideoEncoderParent.h",
60    "GMPVideoEncoderProxy.h",
61    "GMPVideoHost.h",
62    "GMPVideoi420FrameImpl.h",
63    "GMPVideoPlaneImpl.h",
64    "widevine-adapter/content_decryption_module.h",
65    "widevine-adapter/content_decryption_module_export.h",
66    "widevine-adapter/content_decryption_module_ext.h",
67    "widevine-adapter/content_decryption_module_proxy.h",
68]
69
70UNIFIED_SOURCES += [
71    "CDMStorageIdProvider.cpp",
72    "ChromiumCDMAdapter.cpp",
73    "ChromiumCDMCallbackProxy.cpp",
74    "ChromiumCDMChild.cpp",
75    "ChromiumCDMParent.cpp",
76    "ChromiumCDMProxy.cpp",
77    "DecryptJob.cpp",
78    "GMPChild.cpp",
79    "GMPContentChild.cpp",
80    "GMPContentParent.cpp",
81    "GMPCrashHelperHolder.cpp",
82    "GMPDiskStorage.cpp",
83    "GMPLoader.cpp",
84    "GMPMemoryStorage.cpp",
85    "GMPParent.cpp",
86    "GMPPlatform.cpp",
87    "GMPProcessChild.cpp",
88    "GMPProcessParent.cpp",
89    "GMPService.cpp",
90    "GMPServiceChild.cpp",
91    "GMPServiceParent.cpp",
92    "GMPSharedMemManager.cpp",
93    "GMPStorageChild.cpp",
94    "GMPStorageParent.cpp",
95    "GMPTimerChild.cpp",
96    "GMPTimerParent.cpp",
97    "GMPUtils.cpp",
98    "GMPVideoDecoderChild.cpp",
99    "GMPVideoDecoderParent.cpp",
100    "GMPVideoEncodedFrameImpl.cpp",
101    "GMPVideoEncoderChild.cpp",
102    "GMPVideoEncoderParent.cpp",
103    "GMPVideoHost.cpp",
104    "GMPVideoi420FrameImpl.cpp",
105    "GMPVideoPlaneImpl.cpp",
106]
107
108DIRS += [
109    "rlz",
110    "widevine-adapter",
111]
112
113IPDL_SOURCES += [
114    "GMPTypes.ipdlh",
115    "PChromiumCDM.ipdl",
116    "PGMP.ipdl",
117    "PGMPService.ipdl",
118    "PGMPStorage.ipdl",
119    "PGMPTimer.ipdl",
120    "PGMPVideoDecoder.ipdl",
121    "PGMPVideoEncoder.ipdl",
122]
123
124PREPROCESSED_IPDL_SOURCES += [
125    "PGMPContent.ipdl",
126]
127
128if CONFIG["OS_TARGET"] in ["WINNT", "Darwin"]:
129    DEFINES["SUPPORT_STORAGE_ID"] = 1
130
131include("/ipc/chromium/chromium-config.mozbuild")
132
133if CONFIG["MOZ_SANDBOX"]:
134    # For sandbox includes and the include dependencies those have
135    LOCAL_INCLUDES += [
136        "/security/sandbox/chromium",
137        "/security/sandbox/chromium-shim",
138    ]
139
140
141FINAL_LIBRARY = "xul"
142# dom/media/webrtc/transport so we work with --disable-webrtc
143LOCAL_INCLUDES += [
144    "/dom/media/webrtc/transport",
145    "/xpcom/base",
146    "/xpcom/build",
147    "/xpcom/threads",
148]
149