summaryrefslogtreecommitdiffstats
path: root/image/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'image/moz.build')
-rw-r--r--image/moz.build139
1 files changed, 139 insertions, 0 deletions
diff --git a/image/moz.build b/image/moz.build
new file mode 100644
index 0000000000..0025071327
--- /dev/null
+++ b/image/moz.build
@@ -0,0 +1,139 @@
+# -*- 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")