# -*- 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']: DIRS += ['test/fuzzing'] with Files('**'): BUG_COMPONENT = ('Core', 'ImageLib') BROWSER_CHROME_MANIFESTS += ['test/browser/browser.ini'] MOCHITEST_MANIFESTS += ['test/mochitest/mochitest.ini'] MOCHITEST_CHROME_MANIFESTS += ['test/mochitest/chrome.ini'] XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini'] 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 += [ 'DrawResult.h', 'FrameTimeout.h', 'ImageCacheKey.h', 'ImageLogging.h', 'ImageMetadata.h', 'ImageOps.h', 'ImageRegion.h', 'imgLoader.h', 'imgRequest.h', 'imgRequestProxy.h', 'IProgressObserver.h', 'Orientation.h', 'SurfaceCacheUtils.h', ] UNIFIED_SOURCES += [ 'AnimationSurfaceProvider.cpp', 'ClippedImage.cpp', 'DecodedSurfaceProvider.cpp', 'DecodePool.cpp', 'Decoder.cpp', 'DecoderFactory.cpp', 'DynamicImage.cpp', 'FrameAnimator.cpp', 'FrozenImage.cpp', 'IDecodingTask.cpp', 'Image.cpp', 'ImageCacheKey.cpp', 'ImageFactory.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', ] if CONFIG['MOZ_ENABLE_SKIA']: UNIFIED_SOURCES += [ 'Downscaler.cpp'] include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ # Because SVGDocumentWrapper.cpp includes "mozilla/dom/SVGSVGElement.h" '/dom/base', '/dom/svg', # We need to instantiate the decoders '/image/decoders', # Because VectorImage.cpp includes nsSVGUtils.h and SVGObserverUtils.h '/layout/svg', # For URI-related functionality '/netwerk/base', # DecodePool uses thread-related facilities. '/xpcom/threads', ] # Because imgFrame.cpp includes "cairo.h" CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] if CONFIG['GNU_CXX']: CXXFLAGS += ['-Wno-error=shadow'] if CONFIG['FUZZING']: if CONFIG['LIBFUZZER']: # Add trace-pc coverage for libfuzzer CFLAGS += ['-fsanitize-coverage=trace-pc-guard'] CXXFLAGS += ['-fsanitize-coverage=trace-pc-guard']