• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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