1*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2018 Google Inc. 2*c8dee2aaSAndroid Build Coastguard Worker# 3*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file. 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Workerimport("../../gn/skia.gni") 7*c8dee2aaSAndroid Build Coastguard Workerimport("skshaper.gni") 8*c8dee2aaSAndroid Build Coastguard Worker 9*c8dee2aaSAndroid Build Coastguard Workerif (skia_enable_skshaper) { 10*c8dee2aaSAndroid Build Coastguard Worker config("public_config") { 11*c8dee2aaSAndroid Build Coastguard Worker include_dirs = [ "include" ] 12*c8dee2aaSAndroid Build Coastguard Worker defines = [ "SK_SHAPER_PRIMITIVE_AVAILABLE" ] 13*c8dee2aaSAndroid Build Coastguard Worker if (is_component_build) { 14*c8dee2aaSAndroid Build Coastguard Worker defines += [ "SKSHAPER_DLL" ] 15*c8dee2aaSAndroid Build Coastguard Worker } 16*c8dee2aaSAndroid Build Coastguard Worker if (skia_use_fonthost_mac) { 17*c8dee2aaSAndroid Build Coastguard Worker defines += [ "SK_SHAPER_CORETEXT_AVAILABLE" ] 18*c8dee2aaSAndroid Build Coastguard Worker } 19*c8dee2aaSAndroid Build Coastguard Worker if (skia_use_harfbuzz) { 20*c8dee2aaSAndroid Build Coastguard Worker defines += [ "SK_SHAPER_HARFBUZZ_AVAILABLE" ] 21*c8dee2aaSAndroid Build Coastguard Worker } 22*c8dee2aaSAndroid Build Coastguard Worker if (skia_enable_skunicode) { 23*c8dee2aaSAndroid Build Coastguard Worker defines += [ "SK_SHAPER_UNICODE_AVAILABLE" ] 24*c8dee2aaSAndroid Build Coastguard Worker } 25*c8dee2aaSAndroid Build Coastguard Worker } 26*c8dee2aaSAndroid Build Coastguard Worker 27*c8dee2aaSAndroid Build Coastguard Worker component("skshaper") { 28*c8dee2aaSAndroid Build Coastguard Worker check_includes = false 29*c8dee2aaSAndroid Build Coastguard Worker public_configs = [ ":public_config" ] 30*c8dee2aaSAndroid Build Coastguard Worker public = skia_shaper_public 31*c8dee2aaSAndroid Build Coastguard Worker deps = [ "../..:skia" ] 32*c8dee2aaSAndroid Build Coastguard Worker defines = [ "SKSHAPER_IMPLEMENTATION=1" ] 33*c8dee2aaSAndroid Build Coastguard Worker sources = skia_shaper_primitive_sources 34*c8dee2aaSAndroid Build Coastguard Worker if (skia_use_fonthost_mac) { 35*c8dee2aaSAndroid Build Coastguard Worker sources += skia_shaper_coretext_sources 36*c8dee2aaSAndroid Build Coastguard Worker if (is_mac) { 37*c8dee2aaSAndroid Build Coastguard Worker frameworks = [ "ApplicationServices.framework" ] 38*c8dee2aaSAndroid Build Coastguard Worker } 39*c8dee2aaSAndroid Build Coastguard Worker 40*c8dee2aaSAndroid Build Coastguard Worker if (is_ios) { 41*c8dee2aaSAndroid Build Coastguard Worker frameworks = [ 42*c8dee2aaSAndroid Build Coastguard Worker "CoreFoundation.framework", 43*c8dee2aaSAndroid Build Coastguard Worker "CoreText.framework", 44*c8dee2aaSAndroid Build Coastguard Worker ] 45*c8dee2aaSAndroid Build Coastguard Worker } 46*c8dee2aaSAndroid Build Coastguard Worker } 47*c8dee2aaSAndroid Build Coastguard Worker if (skia_enable_skunicode) { 48*c8dee2aaSAndroid Build Coastguard Worker sources += skia_shaper_skunicode_sources 49*c8dee2aaSAndroid Build Coastguard Worker deps += [ "../skunicode" ] 50*c8dee2aaSAndroid Build Coastguard Worker } 51*c8dee2aaSAndroid Build Coastguard Worker if (skia_use_harfbuzz && skia_enable_skunicode) { 52*c8dee2aaSAndroid Build Coastguard Worker sources += skia_shaper_harfbuzz_sources 53*c8dee2aaSAndroid Build Coastguard Worker deps += [ 54*c8dee2aaSAndroid Build Coastguard Worker "../skunicode", 55*c8dee2aaSAndroid Build Coastguard Worker "//third_party/harfbuzz", 56*c8dee2aaSAndroid Build Coastguard Worker ] 57*c8dee2aaSAndroid Build Coastguard Worker } 58*c8dee2aaSAndroid Build Coastguard Worker configs += [ "../../:skia_private" ] 59*c8dee2aaSAndroid Build Coastguard Worker } 60*c8dee2aaSAndroid Build Coastguard Worker 61*c8dee2aaSAndroid Build Coastguard Worker if (defined(is_skia_standalone) && skia_enable_tools) { 62*c8dee2aaSAndroid Build Coastguard Worker skia_source_set("tests") { 63*c8dee2aaSAndroid Build Coastguard Worker if (skia_enable_skshaper_tests) { 64*c8dee2aaSAndroid Build Coastguard Worker testonly = true 65*c8dee2aaSAndroid Build Coastguard Worker sources = skia_shaper_tests 66*c8dee2aaSAndroid Build Coastguard Worker deps = [ 67*c8dee2aaSAndroid Build Coastguard Worker ":skshaper", 68*c8dee2aaSAndroid Build Coastguard Worker "../..:skia", 69*c8dee2aaSAndroid Build Coastguard Worker "../..:test", 70*c8dee2aaSAndroid Build Coastguard Worker "../skunicode", 71*c8dee2aaSAndroid Build Coastguard Worker ] 72*c8dee2aaSAndroid Build Coastguard Worker } else { 73*c8dee2aaSAndroid Build Coastguard Worker sources = [] 74*c8dee2aaSAndroid Build Coastguard Worker } 75*c8dee2aaSAndroid Build Coastguard Worker } 76*c8dee2aaSAndroid Build Coastguard Worker } 77*c8dee2aaSAndroid Build Coastguard Worker} else { 78*c8dee2aaSAndroid Build Coastguard Worker group("skshaper") { 79*c8dee2aaSAndroid Build Coastguard Worker } 80*c8dee2aaSAndroid Build Coastguard Worker group("tests") { 81*c8dee2aaSAndroid Build Coastguard Worker } 82*c8dee2aaSAndroid Build Coastguard Worker} 83