WIP: Added support for giflib, updated jpeg and png
BUG=skia:3257 Committed: https://skia.googlesource.com/skia/+/255dcd11992ebe74eb54202c48cf5394d33a8ce6 Review URL: https://codereview.chromium.org/1038863003
This commit is contained in:
parent
44b80228a4
commit
6d0e7b2031
8
DEPS
8
DEPS
@ -6,7 +6,6 @@ deps = {
|
||||
"common": "https://skia.googlesource.com/common.git@d7c2e2b9464e70e0f3847a330b930d008dc8c8db",
|
||||
|
||||
# There is some duplication here that might be worth cleaning up:
|
||||
# - both Android and ChromeOS pull the same giflib;
|
||||
# - can use use our existing t_p/e/libjpeg instead of pulling it for Android?
|
||||
|
||||
"third_party/externals/angle2" : "https://chromium.googlesource.com/angle/angle.git@c415283b2bcd786e1a8c55c19ef3511eb2b3928c",
|
||||
@ -20,13 +19,12 @@ deps = {
|
||||
"third_party/externals/zlib" : "https://chromium.googlesource.com/chromium/src/third_party/zlib@4ba7cdd0e7bf49d671645264f839838fc56e1492",
|
||||
# NOTE: If we update libpng, we may need to update the generated file at third_party/libpng/pnglibconf.h
|
||||
"third_party/externals/libpng" : "git://git.code.sf.net/p/libpng/code@070a616b8275277e18ef8ee91e2ca23f7bdc67d5",
|
||||
"third_party/externals/giflib" : "https://android.googlesource.com/platform/external/giflib.git@android-5.1.0_r3",
|
||||
|
||||
"platform_tools/android/third_party/externals/expat" : "https://android.googlesource.com/platform/external/expat.git@android-4.2.2_r1.2",
|
||||
"platform_tools/android/third_party/externals/gif" : "https://android.googlesource.com/platform/external/giflib.git@android-4.2.2_r1.2",
|
||||
"platform_tools/android/third_party/externals/jpeg" : "https://android.googlesource.com/platform/external/jpeg.git@ef1b83013e7814622a9d11579878d342e84580b7",
|
||||
"platform_tools/android/third_party/externals/expat" : "https://android.googlesource.com/platform/external/expat.git@android-5.1.0_r3",
|
||||
"platform_tools/android/third_party/externals/jpeg" : "https://android.googlesource.com/platform/external/jpeg.git@android-5.1.0_r3",
|
||||
"platform_tools/android/third_party/externals/png" : "https://android.googlesource.com/platform/external/libpng.git@android-4.2.2_r1.2",
|
||||
|
||||
"platform_tools/chromeos/third_party/externals/gif" : "https://android.googlesource.com/platform/external/giflib.git@android-4.2.2_r1.2",
|
||||
"platform_tools/chromeos/toolchain/src/third_party/chromite": "https://chromium.googlesource.com/chromiumos/chromite.git@d6a4c7e0ee4d53ddc5238dbddfc0417796a70e54",
|
||||
"platform_tools/chromeos/toolchain/src/third_party/pyelftools": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git@bdc1d380acd88d4bfaf47265008091483b0d614e",
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# This GYP file stores the dependencies necessary to build Skia on the Android
|
||||
# platform. The OS doesn't provide many stable libraries as part of the
|
||||
# distribution so we have to build a few of them ourselves.
|
||||
@ -38,18 +39,6 @@
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'target_name': 'gif',
|
||||
'type': 'none',
|
||||
'direct_dependent_settings': {
|
||||
'libraries' : [
|
||||
'libgif.a',
|
||||
],
|
||||
'include_dirs': [
|
||||
'external/giflib',
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'target_name': 'png',
|
||||
'type': 'none',
|
||||
|
@ -1,13 +0,0 @@
|
||||
# Copyright 2015 Google Inc.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
# This GYP file stores the dependencies necessary to build Skia on the Chrome OS
|
||||
# platform. The OS doesn't provide many stable libraries as part of the
|
||||
# distribution so we have to build a few of them ourselves.
|
||||
|
||||
{
|
||||
'includes': [
|
||||
'../platform_tools/chromeos/gyp/dependencies.gypi',
|
||||
],
|
||||
}
|
@ -118,13 +118,6 @@
|
||||
],
|
||||
],
|
||||
|
||||
# skia_giflib_static - on OS variants that normally would link giflib
|
||||
# with '-lgif' and include the headers from '/usr/include/gif_lib.h',
|
||||
# don't do that; instead compile and staticlly link the version of
|
||||
# giflib in third_party/externals/giflib.
|
||||
'skia_giflib_static%': '0',
|
||||
|
||||
|
||||
# skia_no_fontconfig - On POSIX systems that would normally use the
|
||||
# SkFontHost_fontconfig interface; use the SkFontHost_linux
|
||||
# version instead.
|
||||
@ -206,7 +199,6 @@
|
||||
'os_posix%': '<(os_posix)',
|
||||
|
||||
'skia_freetype_static%': '<(skia_freetype_static)',
|
||||
'skia_giflib_static%': '<(skia_giflib_static)',
|
||||
'skia_no_fontconfig%': '<(skia_no_fontconfig)',
|
||||
'skia_sanitizer%': '<(skia_sanitizer)',
|
||||
'skia_scalar%': '<(skia_scalar)',
|
||||
|
@ -11,7 +11,7 @@
|
||||
{
|
||||
'target_name': 'giflib',
|
||||
'conditions': [
|
||||
[ 'skia_giflib_static',
|
||||
[ 'skia_android_framework == 0',
|
||||
{
|
||||
'type': 'static_library',
|
||||
'defines': [
|
||||
@ -35,17 +35,18 @@
|
||||
'../third_party/externals/giflib/gifalloc.c',
|
||||
'../third_party/externals/giflib/gif_err.c',
|
||||
],
|
||||
}, { # not skia_giflib_static
|
||||
}, { # skia_android_framework
|
||||
'type': 'none',
|
||||
'direct_dependent_settings': {
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'-lgif',
|
||||
'libraries' : [
|
||||
'libgif.a',
|
||||
],
|
||||
},
|
||||
},
|
||||
'include_dirs': [
|
||||
'external/giflib',
|
||||
]
|
||||
}
|
||||
],
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -2,6 +2,7 @@
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# GYP file for images project.
|
||||
{
|
||||
'targets': [
|
||||
@ -12,6 +13,7 @@
|
||||
'standalone_static_library': 1,
|
||||
'dependencies': [
|
||||
'core.gyp:*',
|
||||
'giflib.gyp:giflib',
|
||||
'libjpeg.gyp:*',
|
||||
'etc1.gyp:libetc1',
|
||||
'ktx.gyp:libSkKTX',
|
||||
@ -87,6 +89,9 @@
|
||||
'../src/images/SkImageDecoder_libpng.cpp',
|
||||
'../src/images/SkMovie_gif.cpp',
|
||||
],
|
||||
'dependencies!': [
|
||||
'giflib.gyp:giflib'
|
||||
],
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'-lwindowscodecs.lib',
|
||||
@ -112,13 +117,11 @@
|
||||
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
|
||||
'export_dependent_settings': [
|
||||
'libpng.gyp:libpng',
|
||||
'giflib.gyp:giflib'
|
||||
],
|
||||
'dependencies': [
|
||||
'libpng.gyp:libpng',
|
||||
'giflib.gyp:giflib'
|
||||
],
|
||||
# end libpng/libgif stuff
|
||||
# end libpng stuff
|
||||
}],
|
||||
# FIXME: NaCl should be just like linux, etc, above, but it currently is separated out
|
||||
# to remove gif. Once gif is supported by naclports, this can be merged into the above
|
||||
@ -128,13 +131,15 @@
|
||||
'../src/images/SkImageDecoder_libgif.cpp',
|
||||
'../src/images/SkMovie_gif.cpp',
|
||||
],
|
||||
'dependencies!': [
|
||||
'giflib.gyp:giflib'
|
||||
],
|
||||
}],
|
||||
[ 'skia_os == "android"', {
|
||||
'include_dirs': [
|
||||
'../src/utils',
|
||||
],
|
||||
'dependencies': [
|
||||
'android_deps.gyp:gif',
|
||||
'android_deps.gyp:png',
|
||||
],
|
||||
'conditions': [
|
||||
@ -156,7 +161,6 @@
|
||||
}],
|
||||
[ 'skia_os == "chromeos"', {
|
||||
'dependencies': [
|
||||
'chromeos_deps.gyp:gif',
|
||||
'libpng.gyp:libpng',
|
||||
],
|
||||
}],
|
||||
|
@ -1,3 +1,8 @@
|
||||
# Copyright 2015 Google Inc.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# This GYP file stores the dependencies necessary to build Skia on the Android
|
||||
# platform. The OS doesn't provide many stable libraries as part of the
|
||||
# distribution so we have to build a few of them ourselves.
|
||||
@ -54,27 +59,6 @@
|
||||
],
|
||||
}
|
||||
},
|
||||
{
|
||||
'target_name': 'gif',
|
||||
'type': 'static_library',
|
||||
'sources': [
|
||||
'../third_party/externals/gif/dgif_lib.c',
|
||||
'../third_party/externals/gif/gifalloc.c',
|
||||
'../third_party/externals/gif/gif_err.c',
|
||||
],
|
||||
'include_dirs': [
|
||||
'../third_party/externals/gif',
|
||||
],
|
||||
'cflags': [
|
||||
'-w',
|
||||
'-DHAVE_CONFIG_H',
|
||||
],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
'../third_party/externals/gif',
|
||||
],
|
||||
}
|
||||
},
|
||||
{
|
||||
'target_name': 'png',
|
||||
'type': 'static_library',
|
||||
@ -160,11 +144,46 @@
|
||||
'../third_party/externals/jpeg/jidctfst.c',
|
||||
'../third_party/externals/jpeg/jidctint.c',
|
||||
'../third_party/externals/jpeg/jidctred.c',
|
||||
'../third_party/externals/jpeg/jmem-android.c',
|
||||
'../third_party/externals/jpeg/jmemmgr.c',
|
||||
'../third_party/externals/jpeg/jquant1.c',
|
||||
'../third_party/externals/jpeg/jquant2.c',
|
||||
'../third_party/externals/jpeg/jutils.c',
|
||||
'../third_party/externals/jpeg/jmemmgr.c',
|
||||
'../third_party/externals/jpeg/jmem-android.c', # ashmem is also available
|
||||
],
|
||||
'conditions': [
|
||||
[ 'arm_neon == 1',
|
||||
{
|
||||
'sources' : [
|
||||
'../third_party/externals/jpeg/armv6_idct.S',
|
||||
'../third_party/externals/jpeg/jsimd_arm_neon.S',
|
||||
'../third_party/externals/jpeg/jsimd_neon.c',
|
||||
],
|
||||
'defines' : [
|
||||
'NV_ARM_NEON',
|
||||
],
|
||||
},
|
||||
],
|
||||
[ 'skia_arch_type == "mips" and mips_dsp == 2',
|
||||
{
|
||||
'sources' : [
|
||||
'../third_party/externals/jpeg/mips_jidctfst.c',
|
||||
'../third_party/externals/jpeg/mips_idct_le.S',
|
||||
],
|
||||
'defines' : [
|
||||
'ANDROID_MIPS_IDCT',
|
||||
],
|
||||
},
|
||||
],
|
||||
[ '"x86" in skia_arch_type',
|
||||
{
|
||||
'sources' : [
|
||||
'../third_party/externals/jpeg/jidctintelsse.c',
|
||||
],
|
||||
'defines' : [
|
||||
'ANDROID_INTELSSE2_IDCT',
|
||||
],
|
||||
},
|
||||
],
|
||||
],
|
||||
'include_dirs': [
|
||||
'../third_party/externals/jpeg',
|
||||
|
@ -1,35 +0,0 @@
|
||||
# This GYP file stores the dependencies necessary to build Skia on the Chrome OS
|
||||
# platform. The OS doesn't provide many stable libraries as part of the
|
||||
# distribution so we have to build a few of them ourselves.
|
||||
|
||||
{
|
||||
'variables': {
|
||||
'skia_warnings_as_errors': 0,
|
||||
},
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'gif',
|
||||
'type': 'static_library',
|
||||
'sources': [
|
||||
'../third_party/externals/gif/dgif_lib.c',
|
||||
'../third_party/externals/gif/gifalloc.c',
|
||||
'../third_party/externals/gif/gif_err.c',
|
||||
],
|
||||
'include_dirs': [
|
||||
'../third_party/externals/gif',
|
||||
],
|
||||
'cflags': [
|
||||
'-Wno-format',
|
||||
'-DHAVE_CONFIG_H',
|
||||
],
|
||||
'cflags!': [
|
||||
'-Wall',
|
||||
],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
'../third_party/externals/gif',
|
||||
],
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user