moz.build (3647B)
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 7 DIRS += ["build", "decoders", "encoders", "remote"] 8 TEST_DIRS += ["test/gtest"] 9 10 if CONFIG["FUZZING_INTERFACES"]: 11 TEST_DIRS += ["test/fuzzing"] 12 13 with Files("**"): 14 BUG_COMPONENT = ("Core", "Graphics: ImageLib") 15 16 BROWSER_CHROME_MANIFESTS += [ 17 "test/browser/browser.toml", 18 ] 19 20 MOCHITEST_MANIFESTS += ["test/mochitest/mochitest.toml"] 21 22 MOCHITEST_CHROME_MANIFESTS += ["test/mochitest/chrome.toml"] 23 24 XPCSHELL_TESTS_MANIFESTS += ["test/unit/xpcshell.toml"] 25 26 XPIDL_SOURCES += [ 27 "imgICache.idl", 28 "imgIContainer.idl", 29 "imgIContainerDebug.idl", 30 "imgIEncoder.idl", 31 "imgILoader.idl", 32 "imgINotificationObserver.idl", 33 "imgIRequest.idl", 34 "imgIScriptedNotificationObserver.idl", 35 "imgITools.idl", 36 "nsIIconURI.idl", 37 ] 38 39 XPIDL_MODULE = "imglib2" 40 41 EXPORTS += [ 42 "FrameTimeout.h", 43 "ImageBlocker.h", 44 "ImageCacheKey.h", 45 "ImageLogging.h", 46 "ImageMetadata.h", 47 "ImageOps.h", 48 "ImageRegion.h", 49 "ImgDrawResult.h", 50 "imgLoader.h", 51 "imgRequest.h", 52 "imgRequestProxy.h", 53 "IProgressObserver.h", 54 "Orientation.h", 55 "SurfaceCacheUtils.h", 56 ] 57 58 EXPORTS.mozilla.image += [ 59 "encoders/bmp/nsBMPEncoder.h", 60 "encoders/ico/nsICOEncoder.h", 61 "encoders/jpeg/nsJPEGEncoder.h", 62 "encoders/png/nsPNGEncoder.h", 63 "FetchDecodedImage.h", 64 "ICOFileHeaders.h", 65 "ImageMemoryReporter.h", 66 "ImageUtils.h", 67 "Resolution.h", 68 "SourceBuffer.h", 69 "SurfaceFlags.h", 70 "WebRenderImageProvider.h", 71 ] 72 73 UNIFIED_SOURCES += [ 74 "AnimationFrameBuffer.cpp", 75 "AnimationSurfaceProvider.cpp", 76 "BlobSurfaceProvider.cpp", 77 "ClippedImage.cpp", 78 "DecodedSurfaceProvider.cpp", 79 "Decoder.cpp", 80 "DecoderFactory.cpp", 81 "DynamicImage.cpp", 82 "FetchDecodedImage.cpp", 83 "FrameAnimator.cpp", 84 "FrozenImage.cpp", 85 "IDecodingTask.cpp", 86 "Image.cpp", 87 "ImageBlocker.cpp", 88 "ImageCacheKey.cpp", 89 "ImageFactory.cpp", 90 "ImageMemoryReporter.cpp", 91 "ImageOps.cpp", 92 "ImageUtils.cpp", 93 "ImageWrapper.cpp", 94 "imgFrame.cpp", 95 "imgLoader.cpp", 96 "imgRequest.cpp", 97 "imgRequestProxy.cpp", 98 "imgTools.cpp", 99 "MultipartImage.cpp", 100 "OrientedImage.cpp", 101 "ProgressTracker.cpp", 102 "RasterImage.cpp", 103 "ScriptedNotificationObserver.cpp", 104 "ShutdownTracker.cpp", 105 "SourceBuffer.cpp", 106 "SurfaceCache.cpp", 107 "SurfaceCacheUtils.cpp", 108 "SurfacePipe.cpp", 109 "SVGDocumentWrapper.cpp", 110 "VectorImage.cpp", 111 ] 112 113 UNIFIED_SOURCES += ["Downscaler.cpp"] 114 115 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": 116 SOURCES += ["DecodePool.cpp"] 117 else: 118 UNIFIED_SOURCES += ["DecodePool.cpp"] 119 120 include("/ipc/chromium/chromium-config.mozbuild") 121 122 FINAL_LIBRARY = "xul" 123 124 LOCAL_INCLUDES += [ 125 # Because SVGDocumentWrapper.cpp includes "mozilla/dom/SVGSVGElement.h" 126 "/dom/base", 127 "/dom/svg", 128 # Because imgFrame.cpp includes "cairo.h" 129 "/gfx/cairo/cairo/src", 130 # We need to instantiate the decoders 131 "/image/decoders", 132 # For URI-related functionality 133 "/netwerk/base", 134 # For nsHttpChannel.h 135 "/netwerk/protocol/http", 136 # DecodePool uses thread-related facilities. 137 "/xpcom/threads", 138 ] 139 140 LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"] 141 142 if CONFIG["MOZ_SYSTEM_AV1"]: 143 CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBAOM_CFLAGS"] 144 145 # Add libFuzzer configuration directives 146 include("/tools/fuzzing/libfuzzer-config.mozbuild")