blob: c0318fc106959b38fc752e48995a523a6b05c3fd [file] [log] [blame]
scroggo3e562272015-03-25 10:22:41 -07001# 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.
caryclark@google.comafcb55c2011-12-14 17:12:04 +00005# Port-specific Skia library code.
6{
caryclark@google.comafcb55c2011-12-14 17:12:04 +00007 'targets': [
8 {
9 'target_name': 'ports',
borenet@google.comefb1d772012-10-10 19:45:51 +000010 'product_name': 'skia_ports',
caryclark@google.comafcb55c2011-12-14 17:12:04 +000011 'type': 'static_library',
borenet@google.comefb1d772012-10-10 19:45:51 +000012 'standalone_static_library': 1,
bungeman@google.comb8f36552013-07-22 14:39:45 +000013 'dependencies': [
14 'core.gyp:*',
15 ],
caryclark@google.comafcb55c2011-12-14 17:12:04 +000016 'include_dirs': [
bungeman@google.com5a64e582012-03-29 14:51:56 +000017 '../include/effects',
robertphillips188d44c2016-02-01 04:54:14 -080018 '../include/client/android',
dvonbeck9b03e7b2016-08-01 11:01:56 -070019 '../include/gpu',
scroggo@google.comd9ef3a22013-03-15 18:08:09 +000020 '../include/images',
bungeman@google.com29b63dc2012-03-29 14:28:59 +000021 '../include/ports',
mtkleincd1f2da2015-07-28 08:55:14 -070022 '../include/private',
djsollen@google.com52f02972013-06-03 12:10:19 +000023 '../include/utils',
djsollen@google.com28979312013-06-03 14:44:52 +000024 '../include/utils/win',
caryclark@google.comafcb55c2011-12-14 17:12:04 +000025 '../src/core',
dvonbeck9b03e7b2016-08-01 11:01:56 -070026 '../src/gpu',
halcanaryba923d32015-12-07 12:02:33 -080027 '../src/image',
scroggo@google.comd9ef3a22013-03-15 18:08:09 +000028 '../src/lazy',
reed@google.come027a6e2013-07-31 17:37:31 +000029 '../src/ports',
djsollen@google.com52f02972013-06-03 12:10:19 +000030 '../src/sfnt',
bungeman@google.coma02bc152012-05-16 18:21:56 +000031 '../src/utils',
caryclark@google.comafcb55c2011-12-14 17:12:04 +000032 ],
33 'sources': [
34 '../src/ports/SkDebug_stdio.cpp',
35 '../src/ports/SkDebug_win.cpp',
bungeman@google.combfc6cc42013-08-21 15:20:43 +000036
bungeman@google.com72cf4fc2014-03-21 22:48:32 +000037 '../src/fonts/SkFontMgr_indirect.cpp',
38 '../src/fonts/SkRemotableFontMgr.cpp',
caryclark@google.comafcb55c2011-12-14 17:12:04 +000039 '../src/ports/SkFontHost_win.cpp',
bungeman77f85ad2015-06-17 12:07:10 -070040 '../src/ports/SkFontMgr_android_factory.cpp',
bungeman5cf19492015-06-15 15:17:21 -070041 '../src/ports/SkFontMgr_custom_directory_factory.cpp',
42 '../src/ports/SkFontMgr_custom_embedded_factory.cpp',
bungeman7d0e3bc2016-08-02 07:07:33 -070043 '../src/ports/SkFontMgr_FontConfigInterface_factory.cpp',
bungeman0b1de262015-06-17 07:55:59 -070044 '../src/ports/SkFontMgr_fontconfig_factory.cpp',
bungeman51daa252014-06-05 13:38:45 -070045 '../src/ports/SkFontMgr_win_dw.cpp',
bungeman5cf19492015-06-15 15:17:21 -070046 '../src/ports/SkFontMgr_win_dw_factory.cpp',
47 '../src/ports/SkFontMgr_win_gdi_factory.cpp',
bungeman@google.com72cf4fc2014-03-21 22:48:32 +000048 '../src/ports/SkRemotableFontMgr_win_dw.cpp',
Ben Wagner98875e12014-06-05 16:55:58 -040049 '../src/ports/SkScalerContext_win_dw.cpp',
bungeman51daa252014-06-05 13:38:45 -070050 '../src/ports/SkScalerContext_win_dw.h',
51 '../src/ports/SkTypeface_win_dw.cpp',
52 '../src/ports/SkTypeface_win_dw.h',
bungeman@google.combfc6cc42013-08-21 15:20:43 +000053
caryclark@google.comd26147a2011-12-15 14:16:43 +000054 '../src/ports/SkGlobalInitialization_default.cpp',
caryclark@google.comafcb55c2011-12-14 17:12:04 +000055 '../src/ports/SkMemory_malloc.cpp',
kkinnunendd180e72015-12-21 04:05:53 -080056 '../src/ports/SkOSEnvironment.h',
57 '../src/ports/SkOSEnvironment.cpp',
bungeman@google.com6cab1a42013-05-29 13:43:31 +000058 '../src/ports/SkOSFile_posix.cpp',
caryclark@google.comafcb55c2011-12-14 17:12:04 +000059 '../src/ports/SkOSFile_stdio.cpp',
bungeman@google.com6cab1a42013-05-29 13:43:31 +000060 '../src/ports/SkOSFile_win.cpp',
hendrikwb1ac52f2015-10-01 18:29:34 -070061 '../src/ports/SkOSLibrary.h',
62 '../src/ports/SkOSLibrary_posix.cpp',
63 '../src/ports/SkOSLibrary_win.cpp',
scroggo@google.com8b71ef12013-08-19 18:38:08 +000064 '../src/ports/SkDiscardableMemory_none.cpp',
bungeman@google.comf2e7dbb2013-07-16 14:59:24 +000065 '../src/ports/SkTLS_pthread.cpp',
66 '../src/ports/SkTLS_win.cpp',
bungeman@google.com72cf4fc2014-03-21 22:48:32 +000067
68 '../include/ports/SkFontConfigInterface.h',
69 '../include/ports/SkFontMgr.h',
bungeman77f85ad2015-06-17 12:07:10 -070070 '../include/ports/SkFontMgr_android.h',
bungeman0b1de262015-06-17 07:55:59 -070071 '../include/ports/SkFontMgr_custom.h',
72 '../include/ports/SkFontMgr_fontconfig.h',
bungeman@google.com72cf4fc2014-03-21 22:48:32 +000073 '../include/ports/SkFontMgr_indirect.h',
bungeman@google.com72cf4fc2014-03-21 22:48:32 +000074 '../include/ports/SkRemotableFontMgr.h',
caryclark@google.comafcb55c2011-12-14 17:12:04 +000075 ],
bungeman5cf19492015-06-15 15:17:21 -070076 'sources/': [
77 ['exclude', 'SkFontMgr_.+_factory\\.cpp$'],
78 ],
caryclark@google.comafcb55c2011-12-14 17:12:04 +000079 'conditions': [
msarettff174032016-07-19 11:17:55 -070080 [ 'skia_android_framework == 0', {
81 'dependencies': [ 'qcms.gyp:qcms', ],
82 'export_dependent_settings': [ 'qcms.gyp:qcms', ],
83 }],
borenet43bf5112016-04-29 14:01:34 -070084 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "android"]', {
djsollen@google.com2679ff82013-07-22 14:12:56 +000085 'sources': [
86 '../src/ports/SkFontHost_FreeType.cpp',
87 '../src/ports/SkFontHost_FreeType_common.cpp',
bungeman786ece12015-07-15 10:58:47 -070088 '../src/ports/SkFontMgr_android.cpp',
89 '../src/ports/SkFontMgr_android_parser.cpp',
90 '../src/ports/SkFontMgr_custom.cpp',
bungeman7d0e3bc2016-08-02 07:07:33 -070091 '../src/ports/SkFontMgr_FontConfigInterface.cpp',
borenet@google.com7158e6a2012-11-01 17:43:44 +000092 ],
djsollen@google.com2679ff82013-07-22 14:12:56 +000093 'dependencies': [
94 'freetype.gyp:freetype',
djsollenec58b862016-07-15 12:52:34 -070095 'expat.gyp:expat',
djsollen@google.com2679ff82013-07-22 14:12:56 +000096 ],
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000097 'conditions': [
djsollenec58b862016-07-15 12:52:34 -070098 [ 'skia_android_framework == 0', {
mtklein4e79f332016-02-07 13:31:23 -080099 'link_settings': { 'libraries': [ '-ldl' ] },
bungeman786ece12015-07-15 10:58:47 -0700100 }],
101 [ 'skia_embedded_fonts', {
bungeman5c9fa282015-03-30 12:53:48 -0700102 'variables': {
103 'embedded_font_data_identifier': 'sk_fonts',
104 'fonts_to_include': [
bungeman3ffa1262015-04-30 17:12:58 -0400105 '../resources/fonts/Funkster.ttf',
bungeman5c9fa282015-03-30 12:53:48 -0700106 ],
107 },
bungeman5cf19492015-06-15 15:17:21 -0700108 'sources/': [['include', '../src/ports/SkFontMgr_custom_embedded_factory.cpp']],
bungeman5c9fa282015-03-30 12:53:48 -0700109 'actions': [{
110 'action_name': 'generate_embedded_font_data',
111 'inputs': [
112 '../tools/embed_resources.py',
113 '<@(fonts_to_include)',
114 ],
115 'outputs': [
116 '<(SHARED_INTERMEDIATE_DIR)/ports/fonts/fonts.cpp',
117 ],
118 'action': ['python', '../tools/embed_resources.py',
119 '--align', '4',
120 '--name', '<(embedded_font_data_identifier)',
121 '--input', '<@(fonts_to_include)',
122 '--output', '<@(_outputs)',
123 ],
124 'message': 'Generating <@(_outputs)',
125 'process_outputs_as_sources': 1,
126 }],
127 'defines': [
128 'SK_EMBEDDED_FONTS=<(embedded_font_data_identifier)',
129 ],
130 }, 'skia_no_fontconfig', {
bungeman5cf19492015-06-15 15:17:21 -0700131 'sources/': [['include', '../src/ports/SkFontMgr_custom_directory_factory.cpp']],
bungeman786ece12015-07-15 10:58:47 -0700132 }, 'skia_os == "android"', {
133 'sources/': [['include', '../src/ports/SkFontMgr_android_factory.cpp']],
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +0000134 }, {
135 'link_settings': {
136 'libraries': [
137 '-lfontconfig',
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +0000138 ],
139 },
140 'sources': [
bungemana6785cc2014-08-25 12:00:49 -0700141 '../src/ports/SkFontMgr_fontconfig.cpp',
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +0000142 '../src/ports/SkFontConfigInterface_direct.cpp',
benjaminwagner2211a7b2015-12-01 11:12:05 -0800143 '../src/ports/SkFontConfigInterface_direct_factory.cpp',
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +0000144 ],
bungeman0b1de262015-06-17 07:55:59 -0700145 'sources/': [['include', '../src/ports/SkFontMgr_fontconfig_factory.cpp']],
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +0000146 }]
borenet@google.com7158e6a2012-11-01 17:43:44 +0000147 ],
148 }],
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000149 [ 'skia_os == "mac"', {
150 'include_dirs': [
151 '../include/utils/mac',
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000152 ],
153 'sources': [
mike@reedtribe.orgb103ed42013-03-03 03:50:09 +0000154 '../src/ports/SkFontHost_mac.cpp',
scroggo@google.comd9ef3a22013-03-15 18:08:09 +0000155 '../src/utils/mac/SkStream_mac.cpp',
msarett18976312016-03-09 14:20:58 -0800156
157 '../src/ports/SkImageGeneratorCG.cpp',
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000158 ],
159 }],
160 [ 'skia_os == "ios"', {
161 'include_dirs': [
162 '../include/utils/ios',
caryclark@google.com35f5ac92012-09-18 15:41:18 +0000163 '../include/utils/mac',
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000164 ],
165 'sources': [
mike@reedtribe.orgb103ed42013-03-03 03:50:09 +0000166 '../src/ports/SkFontHost_mac.cpp',
scroggo@google.comd9ef3a22013-03-15 18:08:09 +0000167 '../src/utils/mac/SkStream_mac.cpp',
msarett18976312016-03-09 14:20:58 -0800168
169 '../src/ports/SkImageGeneratorCG.cpp',
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000170 ],
171 }],
172 [ 'skia_os == "win"', {
173 'include_dirs': [
174 'config/win',
bungeman@google.come8f05922012-08-16 16:13:40 +0000175 '../src/utils/win',
176 ],
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000177 'sources!': [ # these are used everywhere but windows
178 '../src/ports/SkDebug_stdio.cpp',
bungeman@google.com6cab1a42013-05-29 13:43:31 +0000179 '../src/ports/SkOSFile_posix.cpp',
hendrikwb1ac52f2015-10-01 18:29:34 -0700180 '../src/ports/SkOSLibrary_posix.cpp',
bungeman@google.comf2e7dbb2013-07-16 14:59:24 +0000181 '../src/ports/SkTLS_pthread.cpp',
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000182 ],
msarettfc0b6d12016-03-17 13:50:17 -0700183 'sources': [
184 '../src/ports/SkImageGeneratorWIC.cpp',
185 ],
bungeman@google.combfc6cc42013-08-21 15:20:43 +0000186 'conditions': [
187 # when we build for win, we only want one of these default files
Mike Klein93587062014-07-16 13:06:04 -0400188 [ 'skia_gdi', {
bungeman5cf19492015-06-15 15:17:21 -0700189 'sources/': [['include', '../src/ports/SkFontMgr_win_gdi_factory.cpp']],
Mike Klein93587062014-07-16 13:06:04 -0400190 }, { # normally default to direct write
bungeman5cf19492015-06-15 15:17:21 -0700191 'sources/': [['include', '../src/ports/SkFontMgr_win_dw_factory.cpp']],
bungeman@google.combfc6cc42013-08-21 15:20:43 +0000192 }],
193 ],
msarettfc0b6d12016-03-17 13:50:17 -0700194 'link_settings': {
195 'libraries': [
196 '-lwindowscodecs.lib',
197 ],
198 },
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000199 }, { # else !win
200 'sources!': [
201 '../src/ports/SkDebug_win.cpp',
202 '../src/ports/SkFontHost_win.cpp',
bungeman51daa252014-06-05 13:38:45 -0700203 '../src/ports/SkFontMgr_win_dw.cpp',
bungeman@google.com6cab1a42013-05-29 13:43:31 +0000204 '../src/ports/SkOSFile_win.cpp',
hendrikwb1ac52f2015-10-01 18:29:34 -0700205 '../src/ports/SkOSLibrary_win.cpp',
bungeman@google.com04c32a82014-03-21 23:19:10 +0000206 '../src/ports/SkRemotableFontMgr_win_dw.cpp',
bungeman@google.comf2e7dbb2013-07-16 14:59:24 +0000207 '../src/ports/SkTLS_win.cpp',
Ben Wagner98875e12014-06-05 16:55:58 -0400208 '../src/ports/SkScalerContext_win_dw.cpp',
bungeman51daa252014-06-05 13:38:45 -0700209 '../src/ports/SkScalerContext_win_dw.h',
210 '../src/ports/SkTypeface_win_dw.cpp',
211 '../src/ports/SkTypeface_win_dw.h',
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000212 ],
213 }],
214 [ 'skia_os == "android"', {
215 'sources!': [
216 '../src/ports/SkDebug_stdio.cpp',
217 ],
218 'sources': [
219 '../src/ports/SkDebug_android.cpp',
djsollen@google.com62b24b12011-12-15 16:16:22 +0000220 ],
rmistry@google.comd6176b02012-08-23 18:14:13 +0000221 }],
caryclark@google.comafcb55c2011-12-14 17:12:04 +0000222 ],
223 'direct_dependent_settings': {
224 'include_dirs': [
225 '../include/ports',
226 ],
227 },
228 },
229 ],
230}