gecko-dev/image/moz.build

124 lines
3.1 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']:
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']