moz.build (1622B)
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 toolkit = CONFIG["MOZ_WIDGET_TOOLKIT"] 8 9 # The Icon Channel stuff really shouldn't live in decoders/icon, but we'll 10 # fix that another time. 11 if toolkit == "gtk": 12 DIRS += ["icon/gtk", "icon"] 13 14 if CONFIG["OS_ARCH"] == "WINNT": 15 DIRS += ["icon/win", "icon"] 16 17 if toolkit == "cocoa": 18 DIRS += ["icon/mac", "icon"] 19 elif toolkit == "android": 20 DIRS += ["icon/android", "icon"] 21 22 UNIFIED_SOURCES += [ 23 "EXIF.cpp", 24 "iccjpeg.c", 25 "nsBMPDecoder.cpp", 26 "nsGIFDecoder2.cpp", 27 "nsICODecoder.cpp", 28 "nsIconDecoder.cpp", 29 "nsJPEGDecoder.cpp", 30 "nsPNGDecoder.cpp", 31 "nsWebPDecoder.cpp", 32 ] 33 34 if CONFIG["MOZ_AV1"]: 35 UNIFIED_SOURCES += [ 36 "nsAVIFDecoder.cpp", 37 ] 38 39 if CONFIG["MOZ_SYSTEM_AV1"]: 40 CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBAOM_CFLAGS"] 41 42 if CONFIG["MOZ_JXL"]: 43 UNIFIED_SOURCES += [ 44 "nsJXLDecoder.cpp", 45 ] 46 47 include("/ipc/chromium/chromium-config.mozbuild") 48 49 LOCAL_INCLUDES += [ 50 # Access to Skia headers for Downscaler. 51 "/gfx/2d", 52 # Decoders need ImageLib headers. 53 "/image", 54 # for libyuv::ARGBAttenuate and ::ARGBUnattenuate 55 "/media/libyuv/libyuv/include", 56 ] 57 58 LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"] 59 60 FINAL_LIBRARY = "xul" 61 62 CXXFLAGS += ["-Werror=switch"] 63 64 # Add libFuzzer configuration directives 65 include("/tools/fuzzing/libfuzzer-config.mozbuild")