Source code

Revision control

Copy as Markdown

Other Tools

# 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")
# Android wants all libraries to be packaged under dist/bin so that we can
# place them in the APK under lib/<arch>. We have special logic in GMP that
# configure the clearkey library for us.
if CONFIG["OS_TARGET"] == "Android":
FINAL_TARGET = "dist/bin"
else:
FINAL_TARGET = "dist/bin/gmp-clearkey/0.1"
FINAL_TARGET_PP_FILES += ["manifest.json.in"]
USE_LIBS += ["gecko-clearkey"]
UNIFIED_SOURCES += [
"ClearKeyCDM.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
DisableStlWrapping()
DEFINES["MOZ_NO_MOZALLOC"] = True
# 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
]