summaryrefslogtreecommitdiffstats
path: root/media/libpng/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'media/libpng/moz.build')
-rw-r--r--media/libpng/moz.build78
1 files changed, 78 insertions, 0 deletions
diff --git a/media/libpng/moz.build b/media/libpng/moz.build
new file mode 100644
index 0000000000..4d308d2905
--- /dev/null
+++ b/media/libpng/moz.build
@@ -0,0 +1,78 @@
+# -*- 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/.
+
+with Files("**"):
+ BUG_COMPONENT = ("Core", "Graphics: ImageLib")
+
+EXPORTS += [
+ 'png.h',
+ 'pngconf.h',
+ 'pnglibconf.h'
+]
+
+UNIFIED_SOURCES += [
+ 'png.c',
+ 'pngerror.c',
+ 'pngget.c',
+ 'pngmem.c',
+ 'pngpread.c',
+ 'pngread.c',
+ 'pngrio.c',
+ 'pngrtran.c',
+ 'pngrutil.c',
+ 'pngset.c',
+ 'pngtrans.c',
+ 'pngwio.c',
+ 'pngwrite.c',
+ 'pngwutil.c'
+]
+
+if CONFIG['TARGET_CPU'] == 'arm' or CONFIG['TARGET_CPU'] == 'aarch64':
+ DEFINES['MOZ_PNG_USE_ARM_NEON'] = True
+ UNIFIED_SOURCES += [
+ 'arm/arm_init.c',
+ 'arm/filter_neon_intrinsics.c',
+ 'arm/palette_neon_intrinsics.c'
+ ]
+
+ if CONFIG['TARGET_CPU'] == 'arm':
+ SOURCES += [
+ 'arm/filter_neon.S'
+ ]
+
+if CONFIG['INTEL_ARCHITECTURE']:
+ DEFINES['MOZ_PNG_USE_INTEL_SSE'] = True
+ UNIFIED_SOURCES += [
+ 'intel/filter_sse2_intrinsics.c',
+ 'intel/intel_init.c'
+ ]
+
+if CONFIG['TARGET_CPU'] in ('mips32', 'mips64'):
+ DEFINES['MOZ_PNG_USE_MIPS_MSA'] = True
+ UNIFIED_SOURCES += [
+ 'mips/filter_msa_intrinsics.c',
+ 'mips/mips_init.c'
+ ]
+
+if CONFIG['HAVE_ALTIVEC']:
+ DEFINES['MOZ_PNG_USE_POWERPC'] = True
+ UNIFIED_SOURCES += [
+ 'powerpc/filter_vsx_intrinsics.c',
+ 'powerpc/powerpc_init.c'
+ ]
+
+if CONFIG['MOZ_TREE_FREETYPE']:
+ DEFINES['FT_CONFIG_OPTION_USE_PNG'] = True
+
+Library('mozpng')
+
+FINAL_LIBRARY = 'gkmedias'
+
+# We allow warnings for third-party code that can be updated from upstream.
+AllowCompilerWarnings()
+
+if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
+ CFLAGS += ['-std=gnu89']