gecko-dev/image/moz.build

140 lines
3.4 KiB
Python

# -*- 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/.
DIRS += ["build", "decoders", "encoders"]
if CONFIG["ENABLE_TESTS"]:
DIRS += ["test/gtest"]
if CONFIG["FUZZING_INTERFACES"]:
DIRS += ["test/fuzzing"]
with Files("**"):
BUG_COMPONENT = ("Core", "Graphics: ImageLib")
BROWSER_CHROME_MANIFESTS += [
"test/browser/browser.toml",
"test/browser/browser_sandbox_headless.toml",
]
MOCHITEST_MANIFESTS += ["test/mochitest/mochitest.toml"]
MOCHITEST_CHROME_MANIFESTS += ["test/mochitest/chrome.toml"]
XPCSHELL_TESTS_MANIFESTS += ["test/unit/xpcshell.toml"]
XPIDL_SOURCES += [
"imgICache.idl",
"imgIContainer.idl",
"imgIContainerDebug.idl",
"imgIEncoder.idl",
"imgILoader.idl",
"imgINotificationObserver.idl",
"imgIRequest.idl",
"imgIScriptedNotificationObserver.idl",
"imgITools.idl",
"nsIIconURI.idl",
]
XPIDL_MODULE = "imglib2"
EXPORTS += [
"FrameTimeout.h",
"ImageBlocker.h",
"ImageCacheKey.h",
"ImageLogging.h",
"ImageMetadata.h",
"ImageOps.h",
"ImageRegion.h",
"ImgDrawResult.h",
"imgLoader.h",
"imgRequest.h",
"imgRequestProxy.h",
"IProgressObserver.h",
"Orientation.h",
"SurfaceCacheUtils.h",
]
EXPORTS.mozilla.image += [
"encoders/bmp/nsBMPEncoder.h",
"encoders/ico/nsICOEncoder.h",
"encoders/jpeg/nsJPEGEncoder.h",
"encoders/png/nsPNGEncoder.h",
"ICOFileHeaders.h",
"ImageMemoryReporter.h",
"Resolution.h",
"WebRenderImageProvider.h",
]
UNIFIED_SOURCES += [
"AnimationFrameBuffer.cpp",
"AnimationSurfaceProvider.cpp",
"BlobSurfaceProvider.cpp",
"ClippedImage.cpp",
"DecodedSurfaceProvider.cpp",
"Decoder.cpp",
"DecoderFactory.cpp",
"DynamicImage.cpp",
"FrameAnimator.cpp",
"FrozenImage.cpp",
"IDecodingTask.cpp",
"Image.cpp",
"ImageBlocker.cpp",
"ImageCacheKey.cpp",
"ImageFactory.cpp",
"ImageMemoryReporter.cpp",
"ImageOps.cpp",
"ImageWrapper.cpp",
"imgFrame.cpp",
"imgLoader.cpp",
"imgRequest.cpp",
"imgRequestProxy.cpp",
"imgTools.cpp",
"MultipartImage.cpp",
"OrientedImage.cpp",
"ProgressTracker.cpp",
"RasterImage.cpp",
"ScriptedNotificationObserver.cpp",
"ShutdownTracker.cpp",
"SourceBuffer.cpp",
"SurfaceCache.cpp",
"SurfaceCacheUtils.cpp",
"SurfacePipe.cpp",
"SVGDocumentWrapper.cpp",
"VectorImage.cpp",
]
UNIFIED_SOURCES += ["Downscaler.cpp"]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
SOURCES += ["DecodePool.cpp"]
else:
UNIFIED_SOURCES += ["DecodePool.cpp"]
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
# Because SVGDocumentWrapper.cpp includes "mozilla/dom/SVGSVGElement.h"
"/dom/base",
"/dom/svg",
# Because imgFrame.cpp includes "cairo.h"
"/gfx/cairo/cairo/src",
# We need to instantiate the decoders
"/image/decoders",
# For URI-related functionality
"/netwerk/base",
# For nsHttpChannel.h
"/netwerk/protocol/http",
# DecodePool uses thread-related facilities.
"/xpcom/threads",
]
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
# Add libFuzzer configuration directives
include("/tools/fuzzing/libfuzzer-config.mozbuild")