GN: dm
This builds, links, and runs on Linux. Have not tried Mac. I've tested is_debug={true,false} and is_component_build. It's neat that the component build DM works, but it's also an indication I've missed an essential flag or two... it shouldn't work. :) The GPU backend isn't working yet, but all the software configurations I've tried look good. This fleshes out all the other parts of SkCodec too... I noticed we weren't able to decode gifs or webp. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188643002 Review-Url: https://codereview.chromium.org/2188643002
This commit is contained in:
parent
7b9b541af8
commit
25c81d4e65
145
BUILD.gn
145
BUILD.gn
@ -7,6 +7,7 @@ declare_args() {
|
||||
}
|
||||
|
||||
skia_public_includes = [
|
||||
"include/android",
|
||||
"include/codec",
|
||||
"include/config",
|
||||
"include/core",
|
||||
@ -16,8 +17,10 @@ skia_public_includes = [
|
||||
"include/images",
|
||||
"include/pathops",
|
||||
"include/ports",
|
||||
"include/svg",
|
||||
"include/utils",
|
||||
"include/utils/mac",
|
||||
"include/xml",
|
||||
|
||||
"include/c", # TODO: move back to top, order shouldn't matter
|
||||
]
|
||||
@ -39,6 +42,8 @@ config("skia_private") {
|
||||
"src/config",
|
||||
"src/core",
|
||||
"src/effects",
|
||||
"src/effects/gradients",
|
||||
"src/fonts",
|
||||
"src/gpu",
|
||||
"src/image",
|
||||
"src/images",
|
||||
@ -148,14 +153,19 @@ component("skia") {
|
||||
":opts_avx",
|
||||
":opts_sse41",
|
||||
":opts_ssse3",
|
||||
"//third_party/expat",
|
||||
"//third_party/giflib",
|
||||
"//third_party/libjpeg_turbo",
|
||||
"//third_party/libpng",
|
||||
"//third_party/libwebp",
|
||||
"//third_party/zlib",
|
||||
]
|
||||
|
||||
defines = [
|
||||
"SK_HAS_GIF_LIBRARY",
|
||||
"SK_HAS_JPEG_LIBRARY",
|
||||
"SK_HAS_PNG_LIBRARY",
|
||||
"SK_HAS_WEBP_LIBRARY",
|
||||
]
|
||||
|
||||
libs = [ "pthread" ]
|
||||
@ -168,12 +178,16 @@ component("skia") {
|
||||
sources += pdf_gypi.sources
|
||||
sources += utils_gypi.sources
|
||||
sources += [
|
||||
"src/android/SkBitmapRegionCodec.cpp",
|
||||
"src/android/SkBitmapRegionDecoder.cpp",
|
||||
"src/codec/SkAndroidCodec.cpp",
|
||||
"src/codec/SkBmpCodec.cpp",
|
||||
"src/codec/SkBmpMaskCodec.cpp",
|
||||
"src/codec/SkBmpRLECodec.cpp",
|
||||
"src/codec/SkBmpStandardCodec.cpp",
|
||||
"src/codec/SkCodec.cpp",
|
||||
"src/codec/SkCodecImageGenerator.cpp",
|
||||
"src/codec/SkGifCodec.cpp",
|
||||
"src/codec/SkIcoCodec.cpp",
|
||||
"src/codec/SkJpegCodec.cpp",
|
||||
"src/codec/SkJpegDecoderMgr.cpp",
|
||||
@ -181,9 +195,12 @@ component("skia") {
|
||||
"src/codec/SkMaskSwizzler.cpp",
|
||||
"src/codec/SkMasks.cpp",
|
||||
"src/codec/SkPngCodec.cpp",
|
||||
"src/codec/SkSampledCodec.cpp",
|
||||
"src/codec/SkSampler.cpp",
|
||||
"src/codec/SkSwizzler.cpp",
|
||||
"src/codec/SkWbmpCodec.cpp",
|
||||
"src/codec/SkWebpAdapterCodec.cpp",
|
||||
"src/codec/SkWebpCodec.cpp",
|
||||
"src/images/SkImageEncoder.cpp",
|
||||
"src/images/SkImageEncoder_Factory.cpp",
|
||||
"src/ports/SkDiscardableMemory_none.cpp",
|
||||
@ -193,7 +210,12 @@ component("skia") {
|
||||
"src/ports/SkOSFile_stdio.cpp",
|
||||
"src/sfnt/SkOTTable_name.cpp",
|
||||
"src/sfnt/SkOTUtils.cpp",
|
||||
"src/svg/SkSVGCanvas.cpp",
|
||||
"src/svg/SkSVGDevice.cpp",
|
||||
"src/utils/mac/SkStream_mac.cpp",
|
||||
"src/xml/SkDOM.cpp",
|
||||
"src/xml/SkXMLParser.cpp",
|
||||
"src/xml/SkXMLWriter.cpp",
|
||||
"third_party/etc1/etc1.cpp",
|
||||
"third_party/ktx/ktx.cpp",
|
||||
]
|
||||
@ -210,12 +232,14 @@ component("skia") {
|
||||
"src/ports/SkScalerContext_win_dw.cpp",
|
||||
"src/ports/SkTLS_win.cpp",
|
||||
"src/ports/SkTypeface_win_dw.cpp",
|
||||
"src/xps/SkDocument_XPS.cpp",
|
||||
]
|
||||
} else {
|
||||
sources += [
|
||||
"src/ports/SkDebug_stdio.cpp",
|
||||
"src/ports/SkOSFile_posix.cpp",
|
||||
"src/ports/SkTLS_pthread.cpp",
|
||||
"src/xps/SkDocument_XPS_None.cpp",
|
||||
]
|
||||
}
|
||||
|
||||
@ -276,3 +300,124 @@ executable("fiddle") {
|
||||
":skia.h",
|
||||
]
|
||||
}
|
||||
|
||||
template("test_lib") {
|
||||
config(target_name + "_config") {
|
||||
include_dirs = invoker.public_include_dirs
|
||||
}
|
||||
source_set(target_name) {
|
||||
forward_variables_from(invoker, "*", [ "public_include_dirs" ])
|
||||
public_configs = [
|
||||
":" + target_name + "_config",
|
||||
":skia_private",
|
||||
]
|
||||
|
||||
if (!defined(deps)) {
|
||||
deps = []
|
||||
}
|
||||
deps += [ ":skia" ]
|
||||
testonly = true
|
||||
}
|
||||
}
|
||||
|
||||
test_lib("gpu_tool_utils") {
|
||||
public_include_dirs = [ "tools/gpu" ]
|
||||
sources = [
|
||||
"tools/gpu/GrContextFactory.cpp",
|
||||
"tools/gpu/GrTest.cpp",
|
||||
"tools/gpu/TestContext.cpp",
|
||||
"tools/gpu/gl/GLTestContext.cpp",
|
||||
"tools/gpu/gl/debug/DebugGLTestContext.cpp",
|
||||
"tools/gpu/gl/debug/GrBufferObj.cpp",
|
||||
"tools/gpu/gl/debug/GrFrameBufferObj.cpp",
|
||||
"tools/gpu/gl/debug/GrProgramObj.cpp",
|
||||
"tools/gpu/gl/debug/GrShaderObj.cpp",
|
||||
"tools/gpu/gl/debug/GrTextureObj.cpp",
|
||||
"tools/gpu/gl/debug/GrTextureUnitObj.cpp",
|
||||
"tools/gpu/gl/null/NullGLTestContext.cpp",
|
||||
]
|
||||
libs = []
|
||||
|
||||
if (is_linux) {
|
||||
sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ]
|
||||
libs += [
|
||||
"GL",
|
||||
"GLU",
|
||||
"X11",
|
||||
]
|
||||
} else if (is_mac) {
|
||||
sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ]
|
||||
libs += [ "OpenGL.framework" ]
|
||||
}
|
||||
}
|
||||
|
||||
test_lib("flags") {
|
||||
public_include_dirs = [ "tools/flags" ]
|
||||
sources = [
|
||||
"tools/flags/SkCommandLineFlags.cpp",
|
||||
"tools/flags/SkCommonFlags.cpp",
|
||||
"tools/flags/SkCommonFlagsConfig.cpp",
|
||||
]
|
||||
deps = [
|
||||
":gpu_tool_utils",
|
||||
]
|
||||
}
|
||||
|
||||
test_lib("tool_utils") {
|
||||
public_include_dirs = [
|
||||
"tools",
|
||||
"tools/timer",
|
||||
]
|
||||
sources = [
|
||||
"src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools?
|
||||
"tools/ProcStats.cpp",
|
||||
"tools/Resources.cpp",
|
||||
"tools/picture_utils.cpp",
|
||||
"tools/random_parse_path.cpp",
|
||||
"tools/sk_tool_utils.cpp",
|
||||
"tools/sk_tool_utils_font.cpp",
|
||||
"tools/timer/Timer.cpp",
|
||||
]
|
||||
deps = [
|
||||
":flags",
|
||||
]
|
||||
}
|
||||
|
||||
gm_sources = exec_script("gyp/find.py",
|
||||
[
|
||||
rebase_path("gm"),
|
||||
"*.c*",
|
||||
],
|
||||
"list lines",
|
||||
[])
|
||||
test_lib("gm") {
|
||||
public_include_dirs = [ "gm" ]
|
||||
sources = gm_sources
|
||||
deps = [
|
||||
":gpu_tool_utils",
|
||||
":skia",
|
||||
":tool_utils",
|
||||
]
|
||||
}
|
||||
|
||||
executable("dm") {
|
||||
sources = [
|
||||
"dm/DM.cpp",
|
||||
"dm/DMJsonWriter.cpp",
|
||||
"dm/DMSrcSink.cpp",
|
||||
|
||||
# TODO: tests for real
|
||||
"tests/Test.cpp",
|
||||
]
|
||||
include_dirs = [ "tests" ]
|
||||
deps = [
|
||||
":flags",
|
||||
":gm",
|
||||
":gpu_tool_utils",
|
||||
":skia",
|
||||
":tool_utils",
|
||||
"//third_party/jsoncpp",
|
||||
"//third_party/libpng",
|
||||
]
|
||||
testonly = true
|
||||
}
|
||||
|
@ -5,7 +5,6 @@
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
#include "CrashHandler.h"
|
||||
#include "DMJsonWriter.h"
|
||||
#include "DMSrcSink.h"
|
||||
#include "DMSrcSinkAndroid.h"
|
||||
|
@ -435,6 +435,9 @@
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [ '../tools', ],
|
||||
},
|
||||
'dependencies': [
|
||||
'skia_lib.gyp:skia_lib',
|
||||
],
|
||||
},
|
||||
{
|
||||
'target_name': 'url_data_manager',
|
||||
|
21
third_party/expat/BUILD.gn
vendored
Normal file
21
third_party/expat/BUILD.gn
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# Copyright 2016 Google Inc.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
declare_args() {
|
||||
}
|
||||
|
||||
import("../third_party.gni")
|
||||
|
||||
third_party("expat") {
|
||||
public_include_dirs = [ "../externals/expat" ]
|
||||
|
||||
defines = [ "HAVE_MEMMOVE" ]
|
||||
|
||||
sources = [
|
||||
"../externals/expat/lib/xmlparse.c",
|
||||
"../externals/expat/lib/xmlrole.c",
|
||||
"../externals/expat/lib/xmltok.c",
|
||||
]
|
||||
}
|
19
third_party/giflib/BUILD.gn
vendored
Normal file
19
third_party/giflib/BUILD.gn
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
# Copyright 2016 Google Inc.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
declare_args() {
|
||||
}
|
||||
|
||||
import("../third_party.gni")
|
||||
|
||||
third_party("giflib") {
|
||||
public_include_dirs = [ "../externals/giflib" ]
|
||||
|
||||
sources = [
|
||||
"../externals/giflib/dgif_lib.c",
|
||||
"../externals/giflib/gif_err.c",
|
||||
"../externals/giflib/gifalloc.c",
|
||||
]
|
||||
}
|
21
third_party/jsoncpp/BUILD.gn
vendored
Normal file
21
third_party/jsoncpp/BUILD.gn
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# Copyright 2016 Google Inc.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
declare_args() {
|
||||
}
|
||||
|
||||
import("../third_party.gni")
|
||||
|
||||
third_party("jsoncpp") {
|
||||
public_include_dirs = [ "../externals/jsoncpp/include" ]
|
||||
|
||||
defines = [ "JSON_USE_EXCEPTION=0" ]
|
||||
sources = [
|
||||
"../externals/jsoncpp/src/lib_json/json_reader.cpp",
|
||||
"../externals/jsoncpp/src/lib_json/json_value.cpp",
|
||||
"../externals/jsoncpp/src/lib_json/json_writer.cpp",
|
||||
]
|
||||
testonly = true
|
||||
}
|
5
third_party/libjpeg_turbo/BUILD.gn
vendored
5
third_party/libjpeg_turbo/BUILD.gn
vendored
@ -8,11 +8,8 @@ declare_args() {
|
||||
|
||||
import("../third_party.gni")
|
||||
|
||||
config("libjpeg_turbo_config") {
|
||||
include_dirs = [ "../externals/libjpeg-turbo" ]
|
||||
}
|
||||
third_party("libjpeg_turbo") {
|
||||
public_configs = [ ":libjpeg_turbo_config" ]
|
||||
public_include_dirs = [ "../externals/libjpeg-turbo" ]
|
||||
|
||||
sources = [
|
||||
"../externals/libjpeg-turbo/jcapimin.c",
|
||||
|
5
third_party/libpng/BUILD.gn
vendored
5
third_party/libpng/BUILD.gn
vendored
@ -8,11 +8,8 @@ declare_args() {
|
||||
|
||||
import("../third_party.gni")
|
||||
|
||||
config("libpng_public") {
|
||||
include_dirs = [ "." ]
|
||||
}
|
||||
third_party("libpng") {
|
||||
public_configs = [ ":libpng_public" ]
|
||||
public_include_dirs = [ "." ]
|
||||
|
||||
deps = [
|
||||
"//third_party/zlib",
|
||||
|
59
third_party/libwebp/BUILD.gn
vendored
Normal file
59
third_party/libwebp/BUILD.gn
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
# Copyright 2016 Google Inc.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
declare_args() {
|
||||
}
|
||||
|
||||
import("../third_party.gni")
|
||||
|
||||
third_party("libwebp") {
|
||||
public_include_dirs = [ "../externals/libwebp" ]
|
||||
|
||||
sources = [
|
||||
"../externals/libwebp/src/dec/alpha.c",
|
||||
"../externals/libwebp/src/dec/buffer.c",
|
||||
"../externals/libwebp/src/dec/frame.c",
|
||||
"../externals/libwebp/src/dec/idec.c",
|
||||
"../externals/libwebp/src/dec/io.c",
|
||||
"../externals/libwebp/src/dec/quant.c",
|
||||
"../externals/libwebp/src/dec/tree.c",
|
||||
"../externals/libwebp/src/dec/vp8.c",
|
||||
"../externals/libwebp/src/dec/vp8l.c",
|
||||
"../externals/libwebp/src/dec/webp.c",
|
||||
"../externals/libwebp/src/demux/demux.c",
|
||||
"../externals/libwebp/src/dsp/alpha_processing.c",
|
||||
"../externals/libwebp/src/dsp/alpha_processing_sse2.c",
|
||||
"../externals/libwebp/src/dsp/alpha_processing_sse41.c",
|
||||
"../externals/libwebp/src/dsp/cpu.c",
|
||||
"../externals/libwebp/src/dsp/dec.c",
|
||||
"../externals/libwebp/src/dsp/dec_clip_tables.c",
|
||||
"../externals/libwebp/src/dsp/dec_sse2.c",
|
||||
"../externals/libwebp/src/dsp/dec_sse41.c",
|
||||
"../externals/libwebp/src/dsp/enc.c",
|
||||
"../externals/libwebp/src/dsp/enc_sse2.c",
|
||||
"../externals/libwebp/src/dsp/filters.c",
|
||||
"../externals/libwebp/src/dsp/filters_sse2.c",
|
||||
"../externals/libwebp/src/dsp/lossless.c",
|
||||
"../externals/libwebp/src/dsp/lossless_sse2.c",
|
||||
"../externals/libwebp/src/dsp/rescaler.c",
|
||||
"../externals/libwebp/src/dsp/rescaler_sse2.c",
|
||||
"../externals/libwebp/src/dsp/upsampling.c",
|
||||
"../externals/libwebp/src/dsp/upsampling_sse2.c",
|
||||
"../externals/libwebp/src/dsp/yuv.c",
|
||||
"../externals/libwebp/src/dsp/yuv_sse2.c",
|
||||
"../externals/libwebp/src/utils/bit_reader.c",
|
||||
"../externals/libwebp/src/utils/bit_writer.c",
|
||||
"../externals/libwebp/src/utils/color_cache.c",
|
||||
"../externals/libwebp/src/utils/filters.c",
|
||||
"../externals/libwebp/src/utils/huffman.c",
|
||||
"../externals/libwebp/src/utils/huffman_encode.c",
|
||||
"../externals/libwebp/src/utils/quant_levels.c",
|
||||
"../externals/libwebp/src/utils/quant_levels_dec.c",
|
||||
"../externals/libwebp/src/utils/random.c",
|
||||
"../externals/libwebp/src/utils/rescaler.c",
|
||||
"../externals/libwebp/src/utils/thread.c",
|
||||
"../externals/libwebp/src/utils/utils.c",
|
||||
]
|
||||
}
|
6
third_party/third_party.gni
vendored
6
third_party/third_party.gni
vendored
@ -4,8 +4,12 @@
|
||||
# found in the LICENSE file.
|
||||
|
||||
template("third_party") {
|
||||
config(target_name + "_public") {
|
||||
include_dirs = invoker.public_include_dirs
|
||||
}
|
||||
source_set(target_name) {
|
||||
forward_variables_from(invoker, "*")
|
||||
forward_variables_from(invoker, "*", [ "public_include_dirs" ])
|
||||
public_configs = [ ":" + target_name + "_public" ]
|
||||
|
||||
# Warnings are just noise if we're not maintaining the code.
|
||||
cflags = [ "-w" ]
|
||||
|
5
third_party/zlib/BUILD.gn
vendored
5
third_party/zlib/BUILD.gn
vendored
@ -8,11 +8,8 @@ declare_args() {
|
||||
|
||||
import("../third_party.gni")
|
||||
|
||||
config("zlib_public") {
|
||||
include_dirs = [ "../externals/zlib" ]
|
||||
}
|
||||
third_party("zlib") {
|
||||
public_configs = [ ":zlib_public" ]
|
||||
public_include_dirs = [ "../externals/zlib" ]
|
||||
|
||||
sources = [
|
||||
"../externals/zlib/adler32.c",
|
||||
|
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include "ProcStats.h"
|
||||
#include "SkTypes.h"
|
||||
|
||||
#if defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) || defined(SK_BUILD_FOR_ANDROID)
|
||||
#include <sys/resource.h>
|
||||
|
Loading…
Reference in New Issue
Block a user