1*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2019 Google LLC. 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workerimport("../../gn/skia.gni") 4*c8dee2aaSAndroid Build Coastguard Workerimport("../skshaper/skshaper.gni") 5*c8dee2aaSAndroid Build Coastguard Workerimport("../skunicode/skunicode.gni") 6*c8dee2aaSAndroid Build Coastguard Workerimport("skparagraph.gni") 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Workerdeclare_args() { 9*c8dee2aaSAndroid Build Coastguard Worker skia_enable_skparagraph = true 10*c8dee2aaSAndroid Build Coastguard Worker paragraph_gms_enabled = true 11*c8dee2aaSAndroid Build Coastguard Worker paragraph_tests_enabled = true 12*c8dee2aaSAndroid Build Coastguard Worker paragraph_bench_enabled = false 13*c8dee2aaSAndroid Build Coastguard Worker} 14*c8dee2aaSAndroid Build Coastguard Worker 15*c8dee2aaSAndroid Build Coastguard Workerif (skia_enable_skparagraph && skia_enable_skshaper && skia_enable_skunicode && 16*c8dee2aaSAndroid Build Coastguard Worker skia_use_harfbuzz) { 17*c8dee2aaSAndroid Build Coastguard Worker config("public_config") { 18*c8dee2aaSAndroid Build Coastguard Worker defines = [ "SK_ENABLE_PARAGRAPH" ] 19*c8dee2aaSAndroid Build Coastguard Worker include_dirs = [ 20*c8dee2aaSAndroid Build Coastguard Worker "include", 21*c8dee2aaSAndroid Build Coastguard Worker "utils", 22*c8dee2aaSAndroid Build Coastguard Worker ] 23*c8dee2aaSAndroid Build Coastguard Worker } 24*c8dee2aaSAndroid Build Coastguard Worker 25*c8dee2aaSAndroid Build Coastguard Worker skia_component("skparagraph") { 26*c8dee2aaSAndroid Build Coastguard Worker import("skparagraph.gni") 27*c8dee2aaSAndroid Build Coastguard Worker public_configs = [ ":public_config" ] 28*c8dee2aaSAndroid Build Coastguard Worker public = skparagraph_public 29*c8dee2aaSAndroid Build Coastguard Worker sources = skparagraph_sources 30*c8dee2aaSAndroid Build Coastguard Worker public_deps = [ 31*c8dee2aaSAndroid Build Coastguard Worker "../..:skia", 32*c8dee2aaSAndroid Build Coastguard Worker "../skunicode", 33*c8dee2aaSAndroid Build Coastguard Worker ] 34*c8dee2aaSAndroid Build Coastguard Worker deps = [ "../skshaper" ] 35*c8dee2aaSAndroid Build Coastguard Worker } 36*c8dee2aaSAndroid Build Coastguard Worker 37*c8dee2aaSAndroid Build Coastguard Worker config("utils_config") { 38*c8dee2aaSAndroid Build Coastguard Worker include_dirs = [ "utils" ] 39*c8dee2aaSAndroid Build Coastguard Worker } 40*c8dee2aaSAndroid Build Coastguard Worker 41*c8dee2aaSAndroid Build Coastguard Worker if (defined(is_skia_standalone) && skia_enable_tools) { 42*c8dee2aaSAndroid Build Coastguard Worker import("skparagraph.gni") 43*c8dee2aaSAndroid Build Coastguard Worker skia_source_set("utils") { 44*c8dee2aaSAndroid Build Coastguard Worker public_configs = [ ":utils_config" ] 45*c8dee2aaSAndroid Build Coastguard Worker configs = [ "../../:skia_private" ] 46*c8dee2aaSAndroid Build Coastguard Worker sources = skparagraph_utils 47*c8dee2aaSAndroid Build Coastguard Worker deps = [ 48*c8dee2aaSAndroid Build Coastguard Worker "../..:skia", 49*c8dee2aaSAndroid Build Coastguard Worker "../skshaper", 50*c8dee2aaSAndroid Build Coastguard Worker ] 51*c8dee2aaSAndroid Build Coastguard Worker } 52*c8dee2aaSAndroid Build Coastguard Worker 53*c8dee2aaSAndroid Build Coastguard Worker skia_source_set("gm") { 54*c8dee2aaSAndroid Build Coastguard Worker if (paragraph_gms_enabled && 55*c8dee2aaSAndroid Build Coastguard Worker (skia_use_icu || skia_use_libgrapheme || skia_use_icu4x)) { 56*c8dee2aaSAndroid Build Coastguard Worker testonly = true 57*c8dee2aaSAndroid Build Coastguard Worker sources = [ "gm/simple_gm.cpp" ] 58*c8dee2aaSAndroid Build Coastguard Worker deps = [ 59*c8dee2aaSAndroid Build Coastguard Worker ":skparagraph", 60*c8dee2aaSAndroid Build Coastguard Worker "../..:gpu_tool_utils", 61*c8dee2aaSAndroid Build Coastguard Worker "../..:skia", 62*c8dee2aaSAndroid Build Coastguard Worker "../skshaper", 63*c8dee2aaSAndroid Build Coastguard Worker "../skunicode", 64*c8dee2aaSAndroid Build Coastguard Worker ] 65*c8dee2aaSAndroid Build Coastguard Worker } else { 66*c8dee2aaSAndroid Build Coastguard Worker sources = [] 67*c8dee2aaSAndroid Build Coastguard Worker } 68*c8dee2aaSAndroid Build Coastguard Worker } 69*c8dee2aaSAndroid Build Coastguard Worker 70*c8dee2aaSAndroid Build Coastguard Worker skia_source_set("tests") { 71*c8dee2aaSAndroid Build Coastguard Worker if (paragraph_tests_enabled && 72*c8dee2aaSAndroid Build Coastguard Worker (skia_use_icu || skia_use_libgrapheme || skia_use_icu4x)) { 73*c8dee2aaSAndroid Build Coastguard Worker testonly = true 74*c8dee2aaSAndroid Build Coastguard Worker sources = skparagraph_tests 75*c8dee2aaSAndroid Build Coastguard Worker deps = [ 76*c8dee2aaSAndroid Build Coastguard Worker ":skparagraph", 77*c8dee2aaSAndroid Build Coastguard Worker "../..:skia", 78*c8dee2aaSAndroid Build Coastguard Worker "../..:test", 79*c8dee2aaSAndroid Build Coastguard Worker "../skshaper", 80*c8dee2aaSAndroid Build Coastguard Worker "../skunicode", 81*c8dee2aaSAndroid Build Coastguard Worker ] 82*c8dee2aaSAndroid Build Coastguard Worker } else { 83*c8dee2aaSAndroid Build Coastguard Worker sources = [] 84*c8dee2aaSAndroid Build Coastguard Worker } 85*c8dee2aaSAndroid Build Coastguard Worker } 86*c8dee2aaSAndroid Build Coastguard Worker 87*c8dee2aaSAndroid Build Coastguard Worker skia_source_set("bench") { 88*c8dee2aaSAndroid Build Coastguard Worker if (paragraph_bench_enabled && 89*c8dee2aaSAndroid Build Coastguard Worker (skia_use_icu || skia_use_libgrapheme || skia_use_icu4x)) { 90*c8dee2aaSAndroid Build Coastguard Worker testonly = true 91*c8dee2aaSAndroid Build Coastguard Worker sources = [ "bench/ParagraphBench.cpp" ] 92*c8dee2aaSAndroid Build Coastguard Worker deps = [ 93*c8dee2aaSAndroid Build Coastguard Worker ":skparagraph", 94*c8dee2aaSAndroid Build Coastguard Worker "../..:skia", 95*c8dee2aaSAndroid Build Coastguard Worker "../skshaper", 96*c8dee2aaSAndroid Build Coastguard Worker "../skunicode", 97*c8dee2aaSAndroid Build Coastguard Worker ] 98*c8dee2aaSAndroid Build Coastguard Worker } else { 99*c8dee2aaSAndroid Build Coastguard Worker sources = [] 100*c8dee2aaSAndroid Build Coastguard Worker } 101*c8dee2aaSAndroid Build Coastguard Worker } 102*c8dee2aaSAndroid Build Coastguard Worker 103*c8dee2aaSAndroid Build Coastguard Worker skia_source_set("slides") { 104*c8dee2aaSAndroid Build Coastguard Worker if (skia_use_icu || skia_use_libgrapheme) { 105*c8dee2aaSAndroid Build Coastguard Worker testonly = true 106*c8dee2aaSAndroid Build Coastguard Worker sources = [ "slides/ParagraphSlide.cpp" ] 107*c8dee2aaSAndroid Build Coastguard Worker deps = [ 108*c8dee2aaSAndroid Build Coastguard Worker ":skparagraph", 109*c8dee2aaSAndroid Build Coastguard Worker ":utils", 110*c8dee2aaSAndroid Build Coastguard Worker "../..:skia", 111*c8dee2aaSAndroid Build Coastguard Worker "../skshaper", 112*c8dee2aaSAndroid Build Coastguard Worker "../skunicode", 113*c8dee2aaSAndroid Build Coastguard Worker ] 114*c8dee2aaSAndroid Build Coastguard Worker } 115*c8dee2aaSAndroid Build Coastguard Worker } 116*c8dee2aaSAndroid Build Coastguard Worker } 117*c8dee2aaSAndroid Build Coastguard Worker} else { 118*c8dee2aaSAndroid Build Coastguard Worker group("skparagraph") { 119*c8dee2aaSAndroid Build Coastguard Worker } 120*c8dee2aaSAndroid Build Coastguard Worker group("utils") { 121*c8dee2aaSAndroid Build Coastguard Worker } 122*c8dee2aaSAndroid Build Coastguard Worker group("gm") { 123*c8dee2aaSAndroid Build Coastguard Worker } 124*c8dee2aaSAndroid Build Coastguard Worker group("tests") { 125*c8dee2aaSAndroid Build Coastguard Worker } 126*c8dee2aaSAndroid Build Coastguard Worker group("bench") { 127*c8dee2aaSAndroid Build Coastguard Worker } 128*c8dee2aaSAndroid Build Coastguard Worker group("slides") { 129*c8dee2aaSAndroid Build Coastguard Worker } 130*c8dee2aaSAndroid Build Coastguard Worker} 131