1# Copyright 2015 Google Inc. 2# 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5# Port-specific Skia library code. 6{ 7 'targets': [ 8 { 9 'target_name': 'ports', 10 'product_name': 'skia_ports', 11 'type': 'static_library', 12 'standalone_static_library': 1, 13 'dependencies': [ 14 'core.gyp:*', 15 ], 16 'include_dirs': [ 17 '../include/effects', 18 '../include/images', 19 '../include/ports', 20 '../include/utils', 21 '../include/utils/win', 22 '../src/core', 23 '../src/lazy', 24 '../src/ports', 25 '../src/sfnt', 26 '../src/utils', 27 ], 28 'sources': [ 29 '../src/ports/SkDebug_stdio.cpp', 30 '../src/ports/SkDebug_win.cpp', 31 32 '../src/fonts/SkFontMgr_indirect.cpp', 33 '../src/fonts/SkRemotableFontMgr.cpp', 34 '../src/ports/SkFontHost_win.cpp', 35 '../src/ports/SkFontMgr_default_gdi.cpp', 36 '../src/ports/SkFontMgr_default_dw.cpp', 37 '../src/ports/SkFontMgr_win_dw.cpp', 38 '../src/ports/SkRemotableFontMgr_win_dw.cpp', 39 '../src/ports/SkScalerContext_win_dw.cpp', 40 '../src/ports/SkScalerContext_win_dw.h', 41 '../src/ports/SkTypeface_win_dw.cpp', 42 '../src/ports/SkTypeface_win_dw.h', 43 44 '../src/ports/SkGlobalInitialization_default.cpp', 45 '../src/ports/SkMemory_malloc.cpp', 46 '../src/ports/SkOSFile_posix.cpp', 47 '../src/ports/SkOSFile_stdio.cpp', 48 '../src/ports/SkOSFile_win.cpp', 49 '../src/ports/SkDiscardableMemory_none.cpp', 50 '../src/ports/SkTime_Unix.cpp', 51 '../src/ports/SkTime_win.cpp', 52 '../src/ports/SkTLS_pthread.cpp', 53 '../src/ports/SkTLS_win.cpp', 54 55 '../include/ports/SkFontConfigInterface.h', 56 '../include/ports/SkFontMgr.h', 57 '../include/ports/SkFontMgr_indirect.h', 58 '../include/ports/SkRemotableFontMgr.h', 59 ], 60 'conditions': [ 61 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos", "android"]', { 62 'sources': [ 63 '../src/ports/SkFontHost_FreeType.cpp', 64 '../src/ports/SkFontHost_FreeType_common.cpp', 65 ], 66 'dependencies': [ 67 'freetype.gyp:freetype', 68 ], 69 }], 70 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', { 71 'conditions': [ 72 [ 'skia_embedded_fonts', { 73 'link_settings': { 74 'libraries': [ 75 '-ldl', 76 ], 77 }, 78 'variables': { 79 'embedded_font_data_identifier': 'sk_fonts', 80 'fonts_to_include': [ 81 '../resources/fonts/Funkster.ttf', 82 ], 83 }, 84 'sources': [ 85 '../src/ports/SkFontHost_linux.cpp', 86 ], 87 'actions': [{ 88 'action_name': 'generate_embedded_font_data', 89 'inputs': [ 90 '../tools/embed_resources.py', 91 '<@(fonts_to_include)', 92 ], 93 'outputs': [ 94 '<(SHARED_INTERMEDIATE_DIR)/ports/fonts/fonts.cpp', 95 ], 96 'action': ['python', '../tools/embed_resources.py', 97 '--align', '4', 98 '--name', '<(embedded_font_data_identifier)', 99 '--input', '<@(fonts_to_include)', 100 '--output', '<@(_outputs)', 101 ], 102 'message': 'Generating <@(_outputs)', 103 'process_outputs_as_sources': 1, 104 }], 105 'defines': [ 106 'SK_EMBEDDED_FONTS=<(embedded_font_data_identifier)', 107 ], 108 }, 'skia_no_fontconfig', { 109 'link_settings': { 110 'libraries': [ 111 '-ldl', 112 ], 113 }, 114 'sources': [ 115 '../src/ports/SkFontHost_linux.cpp', 116 ], 117 }, { 118 'link_settings': { 119 'libraries': [ 120 '-lfontconfig', 121 '-ldl', 122 ], 123 }, 124 'sources': [ 125 '../src/ports/SkFontMgr_fontconfig.cpp', 126 '../src/ports/SkFontHost_fontconfig.cpp', 127 '../src/ports/SkFontConfigInterface_direct.cpp', 128 ], 129 }] 130 ], 131 }], 132 [ 'skia_os == "mac"', { 133 'include_dirs': [ 134 '../include/utils/mac', 135 ], 136 'sources': [ 137 '../src/ports/SkFontHost_mac.cpp', 138 '../src/utils/mac/SkStream_mac.cpp', 139 ], 140 'sources!': [ 141 '../src/ports/SkFontHost_tables.cpp', 142 ], 143 }], 144 [ 'skia_os == "ios"', { 145 'include_dirs': [ 146 '../include/utils/ios', 147 '../include/utils/mac', 148 ], 149 'sources': [ 150 '../src/ports/SkFontHost_mac.cpp', 151 '../src/utils/mac/SkStream_mac.cpp', 152 ], 153 'sources!': [ 154 '../src/ports/SkFontHost_tables.cpp', 155 ], 156 }], 157 [ 'skia_os == "win"', { 158 'include_dirs': [ 159 'config/win', 160 '../src/utils/win', 161 ], 162 'sources!': [ # these are used everywhere but windows 163 '../src/ports/SkDebug_stdio.cpp', 164 '../src/ports/SkOSFile_posix.cpp', 165 '../src/ports/SkTime_Unix.cpp', 166 '../src/ports/SkTLS_pthread.cpp', 167 ], 168 'conditions': [ 169 # when we build for win, we only want one of these default files 170 [ 'skia_gdi', { 171 'sources!': [ 172 '../src/ports/SkFontMgr_default_dw.cpp', 173 ], 174 }, { # normally default to direct write 175 'sources!': [ 176 '../src/ports/SkFontMgr_default_gdi.cpp', 177 ], 178 }], 179 ], 180 }, { # else !win 181 'sources!': [ 182 '../src/ports/SkDebug_win.cpp', 183 '../src/ports/SkFontHost_win.cpp', 184 '../src/ports/SkFontMgr_default_gdi.cpp', 185 '../src/ports/SkFontMgr_default_dw.cpp', 186 '../src/ports/SkFontMgr_win_dw.cpp', 187 '../src/ports/SkOSFile_win.cpp', 188 '../src/ports/SkRemotableFontMgr_win_dw.cpp', 189 '../src/ports/SkTime_win.cpp', 190 '../src/ports/SkTLS_win.cpp', 191 '../src/ports/SkScalerContext_win_dw.cpp', 192 '../src/ports/SkScalerContext_win_dw.h', 193 '../src/ports/SkTypeface_win_dw.cpp', 194 '../src/ports/SkTypeface_win_dw.h', 195 ], 196 }], 197 [ 'skia_os == "android"', { 198 'sources!': [ 199 '../src/ports/SkDebug_stdio.cpp', 200 ], 201 'sources': [ 202 '../src/ports/SkDebug_android.cpp', 203 '../src/ports/SkFontConfigParser_android.cpp', 204 '../src/ports/SkFontMgr_android.cpp', 205 ], 206 'dependencies': [ 207 'android_deps.gyp:expat', 208 ], 209 }], 210 ], 211 'direct_dependent_settings': { 212 'include_dirs': [ 213 '../include/ports', 214 ], 215 }, 216 }, 217 ], 218} 219