Source code

Revision control

Copy as Markdown

Other Tools

# -*- 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/.
with Files("**"):
BUG_COMPONENT = ("Core", "Audio/Video: GMP")
GeckoSharedLibrary("clearkey", linkage=None)
FINAL_TARGET = "dist/bin/gmp-clearkey/0.1"
FINAL_TARGET_PP_FILES += ["manifest.json.in"]
UNIFIED_SOURCES += [
"ClearKeyBase64.cpp",
"ClearKeyCDM.cpp",
"ClearKeyDecryptionManager.cpp",
"ClearKeyPersistence.cpp",
"ClearKeySession.cpp",
"ClearKeySessionManager.cpp",
"ClearKeyStorage.cpp",
"ClearKeyUtils.cpp",
"gmp-clearkey.cpp",
]
if CONFIG["OS_ARCH"] == "WINNT":
UNIFIED_SOURCES += [
"VideoDecoder.cpp",
"WMFH264Decoder.cpp",
]
SOURCES += [
"WMFUtils.cpp",
]
OS_LIBS += [
"mfuuid",
"uuid",
]
DEFINES["ENABLE_WMF"] = True
DEFINES["CDM_IMPLEMENTATION"] = True
TEST_DIRS += [
"gtest",
]
DisableStlWrapping()
DEFINES["MOZ_NO_MOZALLOC"] = True
USE_LIBS += [
"nss",
"psshparser",
]
# Suppress warnings in third-party code.
CFLAGS += [
"-Wno-pointer-to-int-cast",
"-Wno-sign-compare",
]
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CFLAGS += [
"-include",
"stdio.h", # for sprintf() prototype
"-include",
"unistd.h", # for getpid() prototype
]
elif CONFIG["CC_TYPE"] == "clang-cl":
CFLAGS += [
"-FI",
"stdio.h", # for sprintf() prototype
]
REQUIRES_UNIFIED_BUILD = True