OLD | NEW |
| (Empty) |
1 # GYP for fontconfig ( | |
2 # | |
3 # This has been tested on Windows and Mac. | |
4 # This library is native to Linux, so build from source is not necessary. | |
5 # | |
6 # Additional files for building under Windows are provided here: (LGPL) | |
7 # http://comments.gmane.org/gmane.comp.fonts.fontconfig/4438 | |
8 | |
9 { | |
10 'variables': { | |
11 'skia_warnings_as_errors': 0, | |
12 }, | |
13 'targets': [ | |
14 { | |
15 'target_name': 'fontconfig', | |
16 'type': 'none', | |
17 'dependencies': [ | |
18 'libfontconfig', | |
19 ], | |
20 'direct_dependent_settings': { | |
21 'include_dirs': [ | |
22 '../third_party/externals/fontconfig', | |
23 ], | |
24 }, | |
25 'conditions': [ | |
26 ['skia_os == "mac"', { | |
27 'dependencies': [ | |
28 'fontconfig_setup', | |
29 ], | |
30 }], | |
31 ], | |
32 }, | |
33 { | |
34 'target_name': 'libfontconfig', | |
35 'type': 'static_library', | |
36 'dependencies': [ | |
37 'freetype.gyp:freetype_poppler', | |
38 ], | |
39 'include_dirs' : [ | |
40 '../third_party/externals/fontconfig', | |
41 '../third_party/fontconfig/config', | |
42 '../third_party/fontconfig/config/src', | |
43 ], | |
44 'sources': [ | |
45 '../third_party/externals/fontconfig/src/fcatomic.c', | |
46 '../third_party/externals/fontconfig/src/fcblanks.c', | |
47 '../third_party/externals/fontconfig/src/fccache.c', | |
48 '../third_party/externals/fontconfig/src/fccfg.c', | |
49 '../third_party/externals/fontconfig/src/fccharset.c', | |
50 '../third_party/externals/fontconfig/src/fccompat.c', | |
51 '../third_party/externals/fontconfig/src/fcdbg.c', | |
52 '../third_party/externals/fontconfig/src/fcdefault.c', | |
53 '../third_party/externals/fontconfig/src/fcdir.c', | |
54 '../third_party/externals/fontconfig/src/fcfreetype.c', | |
55 '../third_party/externals/fontconfig/src/fcfs.c', | |
56 '../third_party/externals/fontconfig/src/fchash.c', | |
57 '../third_party/externals/fontconfig/src/fcinit.c', | |
58 '../third_party/externals/fontconfig/src/fclang.c', | |
59 '../third_party/externals/fontconfig/src/fclist.c', | |
60 '../third_party/externals/fontconfig/src/fcmatch.c', | |
61 '../third_party/externals/fontconfig/src/fcmatrix.c', | |
62 '../third_party/externals/fontconfig/src/fcname.c', | |
63 '../third_party/externals/fontconfig/src/fcobjs.c', | |
64 '../third_party/externals/fontconfig/src/fcpat.c', | |
65 '../third_party/externals/fontconfig/src/fcserialize.c', | |
66 '../third_party/externals/fontconfig/src/fcstat.c', | |
67 '../third_party/externals/fontconfig/src/fcstr.c', | |
68 '../third_party/externals/fontconfig/src/fcxml.c', | |
69 '../third_party/externals/fontconfig/src/ftglue.c', | |
70 ], | |
71 'defines': [ | |
72 'HAVE_CONFIG_H', | |
73 ], | |
74 'cflags': [ | |
75 '-fPIC', | |
76 ], | |
77 | |
78 'direct_dependent_settings': { | |
79 'include_dirs': [ | |
80 '../third_party/externals/fontconfig', | |
81 ], | |
82 }, | |
83 | |
84 'conditions': [ | |
85 ['skia_os == "mac"', { | |
86 'include_dirs': [ | |
87 '<(SHARED_INTERMEDIATE_DIR)/fontconfig_config', | |
88 '../third_party/fontconfig/config/mac', | |
89 '../third_party/fontconfig/config/mac/src', | |
90 ], | |
91 'dependencies': [ | |
92 'fontconfig_config_template', | |
93 ], | |
94 'libraries': [ | |
95 '$(SDKROOT)/usr/lib/libexpat.dylib', | |
96 ], | |
97 'xcode_settings': { | |
98 'DYLIB_INSTALL_NAME_BASE': '@executable_path', | |
99 }, | |
100 }], | |
101 ['skia_os == "win"', { | |
102 'include_dirs': [ | |
103 '../third_party/fontconfig/config/windows', | |
104 '../third_party/fontconfig/config/windows/src', | |
105 ], | |
106 'sources!': [ | |
107 '../third_party/externals/fontconfig/src/fccompat.c', | |
108 '../third_party/externals/fontconfig/src/fcxml.c', | |
109 ], | |
110 'defines': [ | |
111 # inline is not recognized in C and has to be __inline | |
112 'inline=__inline', | |
113 ], | |
114 }], | |
115 ], | |
116 }, | |
117 ], | |
118 'conditions': [ | |
119 ['skia_os == "mac"', { | |
120 'variables': { | |
121 'cachedir': '<(PRODUCT_DIR)/fontconfig/cache', | |
122 'configdir': '<(PRODUCT_DIR)/fontconfig/etc', | |
123 }, | |
124 'targets': [ | |
125 { | |
126 'target_name': 'fontconfig_config_template', | |
127 'type': 'none', | |
128 'actions': [{ | |
129 'action_name': 'fontconfig_config_template', | |
130 'message': 'Generating fontconfig header', | |
131 'inputs': [ | |
132 '../third_party/fontconfig/process-template.py', | |
133 '../third_party/fontconfig/config/mac/config.h.template', | |
134 ], | |
135 'outputs': [ | |
136 '<(SHARED_INTERMEDIATE_DIR)/fontconfig_config/config.h', | |
137 ], | |
138 'action': [ | |
139 'python', '../third_party/fontconfig/process-template.py', | |
140 '-i', '../third_party/fontconfig/config/mac/config.h.template', | |
141 '-o', '<@(_outputs)', | |
142 '-p', '@FC_CACHEDIR@', '<(cachedir)', | |
143 '-p', '@FONTCONFIG_PATH@', '<(configdir)', | |
144 ], | |
145 }], | |
146 }, { | |
147 'target_name': 'fontconfig_setup', | |
148 'type': 'none', | |
149 'dependencies': [ | |
150 'fc-cache', | |
151 ], | |
152 'actions': [{ | |
153 'action_name': 'fontconfig_config_file', | |
154 'message': 'Generating font.conf', | |
155 'inputs': [ | |
156 '../third_party/fontconfig/process-template.py', | |
157 '../third_party/externals/fontconfig/fonts.conf.in', | |
158 ], | |
159 'outputs': [ '<(configdir)/fonts.conf', ], | |
160 'action': [ | |
161 'python', '../third_party/fontconfig/process-template.py', | |
162 '-i', '../third_party/externals/fontconfig/fonts.conf.in', | |
163 '-o', '<(configdir)/fonts.conf', | |
164 '-p', '@FC_CACHEDIR@', '<(cachedir)', | |
165 '-k', '@FC_DEFAULT_FONTS@', '/System/Library/Fonts', | |
166 '-k', '@FC_FONTPATH@', '<dir>/Library/Fonts</dir>', | |
167 '-p', '@CONFIGDIR@', '<(configdir)/conf.d', | |
168 '-k', '@PACKAGE@', 'fontconfig', | |
169 '-k', '@VERSION@', '2.11.0', | |
170 ], | |
171 }, { | |
172 'action_name': 'populate_fontconfig_cache', | |
173 'message': | |
174 'Generating fontconfig cache (this will take a few minutes).', | |
175 'inputs': [ | |
176 '<(PRODUCT_DIR)/fc-cache', | |
177 '<(configdir)/fonts.conf', | |
178 ], | |
179 'outputs': [ '<(cachedir)/CACHEDIR.TAG', ], | |
180 'action': [ '<(PRODUCT_DIR)/fc-cache', '-s', '-f', '-v', ], | |
181 }], | |
182 }, | |
183 { | |
184 'target_name': 'fc-cache', | |
185 'type': 'executable', | |
186 'dependencies': [ | |
187 'libfontconfig', | |
188 ], | |
189 'libraries':[ | |
190 '$(SDKROOT)/usr/lib/libexpat.dylib', | |
191 ], | |
192 'sources': [ | |
193 '../third_party/externals/fontconfig/fc-cache/fc-cache.c', | |
194 ], | |
195 }, | |
196 ], | |
197 }], | |
198 ], | |
199 } | |
OLD | NEW |