OLD | NEW |
| (Empty) |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 { | |
6 'variables': { | |
7 # If any of the linux_link_FOO below are set to 1, then the corresponding | |
8 # target will be linked against the FOO library (either dynamically or | |
9 # statically, depending on the pkg-config files), as opposed to loading the | |
10 # FOO library dynamically with dlopen. | |
11 'linux_link_libgps%': 0, | |
12 'linux_link_libpci%': 0, | |
13 'linux_link_libspeechd%': 0, | |
14 'linux_link_libbrlapi%': 0, | |
15 | |
16 # Used below for the various libraries. In this scope for sharing with GN. | |
17 'libbrlapi_functions': [ | |
18 'brlapi_getHandleSize', | |
19 'brlapi_error_location', | |
20 'brlapi_strerror', | |
21 'brlapi__acceptKeys', | |
22 'brlapi__openConnection', | |
23 'brlapi__closeConnection', | |
24 'brlapi__getDisplaySize', | |
25 'brlapi__enterTtyModeWithPath', | |
26 'brlapi__leaveTtyMode', | |
27 'brlapi__writeDots', | |
28 'brlapi__readKey', | |
29 ], | |
30 'libgio_functions': [ | |
31 'g_settings_new', | |
32 'g_settings_get_child', | |
33 'g_settings_get_string', | |
34 'g_settings_get_boolean', | |
35 'g_settings_get_int', | |
36 'g_settings_get_strv', | |
37 'g_settings_list_schemas', | |
38 ], | |
39 'libpci_functions': [ | |
40 'pci_alloc', | |
41 'pci_init', | |
42 'pci_cleanup', | |
43 'pci_scan_bus', | |
44 'pci_fill_info', | |
45 'pci_lookup_name', | |
46 ], | |
47 'libudev_functions': [ | |
48 'udev_device_get_action', | |
49 'udev_device_get_devnode', | |
50 'udev_device_get_parent', | |
51 'udev_device_get_parent_with_subsystem_devtype', | |
52 'udev_device_get_property_value', | |
53 'udev_device_get_subsystem', | |
54 'udev_device_get_sysattr_value', | |
55 'udev_device_get_sysname', | |
56 'udev_device_get_syspath', | |
57 'udev_device_new_from_devnum', | |
58 'udev_device_new_from_subsystem_sysname', | |
59 'udev_device_new_from_syspath', | |
60 'udev_device_unref', | |
61 'udev_enumerate_add_match_subsystem', | |
62 'udev_enumerate_get_list_entry', | |
63 'udev_enumerate_new', | |
64 'udev_enumerate_scan_devices', | |
65 'udev_enumerate_unref', | |
66 'udev_list_entry_get_next', | |
67 'udev_list_entry_get_name', | |
68 'udev_monitor_enable_receiving', | |
69 'udev_monitor_filter_add_match_subsystem_devtype', | |
70 'udev_monitor_get_fd', | |
71 'udev_monitor_new_from_netlink', | |
72 'udev_monitor_receive_device', | |
73 'udev_monitor_unref', | |
74 'udev_new', | |
75 'udev_set_log_fn', | |
76 'udev_set_log_priority', | |
77 'udev_unref', | |
78 ], | |
79 }, | |
80 'conditions': [ | |
81 [ 'chromeos==0 and use_ozone==0', { | |
82 # Hide GTK and related dependencies for Chrome OS and Ozone, so they won't
get | |
83 # added back to Chrome OS and Ozone. Don't try to use GTK on Chrome OS and
Ozone. | |
84 'targets': [ | |
85 { | |
86 'target_name': 'atk', | |
87 'type': 'none', | |
88 'conditions': [ | |
89 ['_toolset=="target"', { | |
90 'direct_dependent_settings': { | |
91 'cflags': [ | |
92 '<!@(<(pkg-config) --cflags atk)', | |
93 ], | |
94 'defines': [ | |
95 'ATK_LIB_DIR="<!@(<(pkg-config) --variable=libdir atk)"', | |
96 ], | |
97 }, | |
98 'link_settings': { | |
99 'ldflags': [ | |
100 '<!@(<(pkg-config) --libs-only-L --libs-only-other atk)', | |
101 ], | |
102 'libraries': [ | |
103 '<!@(<(pkg-config) --libs-only-l atk)', | |
104 ], | |
105 }, | |
106 }], | |
107 ], | |
108 }, | |
109 { | |
110 'target_name': 'gdk', | |
111 'type': 'none', | |
112 'conditions': [ | |
113 ['_toolset=="target"', { | |
114 'direct_dependent_settings': { | |
115 'cflags': [ | |
116 '<!@(<(pkg-config) --cflags gdk-2.0)', | |
117 ], | |
118 }, | |
119 'link_settings': { | |
120 'ldflags': [ | |
121 '<!@(<(pkg-config) --libs-only-L --libs-only-other gdk-2.0)', | |
122 ], | |
123 'libraries': [ | |
124 '<!@(<(pkg-config) --libs-only-l gdk-2.0)', | |
125 ], | |
126 }, | |
127 }], | |
128 ], | |
129 }, | |
130 { | |
131 'target_name': 'gtk', | |
132 'type': 'none', | |
133 'toolsets': ['host', 'target'], | |
134 'variables': { | |
135 # gtk requires gmodule, but it does not list it as a dependency | |
136 # in some misconfigured systems. | |
137 'gtk_packages': 'gmodule-2.0 gtk+-2.0 gthread-2.0', | |
138 }, | |
139 'conditions': [ | |
140 ['_toolset=="target"', { | |
141 'all_dependent_settings': { | |
142 'cflags': [ | |
143 '<!@(<(pkg-config) --cflags <(gtk_packages))', | |
144 ], | |
145 }, | |
146 'link_settings': { | |
147 'ldflags': [ | |
148 '<!@(<(pkg-config) --libs-only-L --libs-only-other <(gtk_packa
ges))', | |
149 ], | |
150 'libraries': [ | |
151 '<!@(<(pkg-config) --libs-only-l <(gtk_packages))', | |
152 ], | |
153 }, | |
154 }, { | |
155 'all_dependent_settings': { | |
156 'cflags': [ | |
157 '<!@(pkg-config --cflags <(gtk_packages))', | |
158 ], | |
159 }, | |
160 'link_settings': { | |
161 'ldflags': [ | |
162 '<!@(pkg-config --libs-only-L --libs-only-other <(gtk_packages
))', | |
163 ], | |
164 'libraries': [ | |
165 '<!@(pkg-config --libs-only-l <(gtk_packages))', | |
166 ], | |
167 }, | |
168 }], | |
169 ], | |
170 }, | |
171 { | |
172 'target_name': 'gtkprint', | |
173 'type': 'none', | |
174 'conditions': [ | |
175 ['_toolset=="target"', { | |
176 'direct_dependent_settings': { | |
177 'cflags': [ | |
178 '<!@(<(pkg-config) --cflags gtk+-unix-print-2.0)', | |
179 ], | |
180 }, | |
181 'link_settings': { | |
182 'ldflags': [ | |
183 '<!@(<(pkg-config) --libs-only-L --libs-only-other gtk+-unix-p
rint-2.0)', | |
184 ], | |
185 'libraries': [ | |
186 '<!@(<(pkg-config) --libs-only-l gtk+-unix-print-2.0)', | |
187 ], | |
188 }, | |
189 }], | |
190 ], | |
191 }, | |
192 ], # targets | |
193 }], | |
194 [ 'use_x11==1 or ozone_platform_ozonex==1', { | |
195 # Hide X11 and related dependencies when use_x11=0 | |
196 'targets': [ | |
197 { | |
198 'target_name': 'x11', | |
199 'type': 'none', | |
200 'toolsets': ['host', 'target'], | |
201 'conditions': [ | |
202 ['_toolset=="target"', { | |
203 'direct_dependent_settings': { | |
204 'cflags': [ | |
205 '<!@(<(pkg-config) --cflags x11)', | |
206 ], | |
207 }, | |
208 'link_settings': { | |
209 'ldflags': [ | |
210 '<!@(<(pkg-config) --libs-only-L --libs-only-other x11 xi)', | |
211 ], | |
212 'libraries': [ | |
213 '<!@(<(pkg-config) --libs-only-l x11 xi)', | |
214 ], | |
215 }, | |
216 }, { | |
217 'direct_dependent_settings': { | |
218 'cflags': [ | |
219 '<!@(pkg-config --cflags x11)', | |
220 ], | |
221 }, | |
222 'link_settings': { | |
223 'ldflags': [ | |
224 '<!@(pkg-config --libs-only-L --libs-only-other x11 xi)', | |
225 ], | |
226 'libraries': [ | |
227 '<!@(pkg-config --libs-only-l x11 xi)', | |
228 ], | |
229 }, | |
230 }], | |
231 ], | |
232 }, | |
233 { | |
234 'target_name': 'xcursor', | |
235 'type': 'none', | |
236 'direct_dependent_settings': { | |
237 'cflags': [ | |
238 '<!@(<(pkg-config) --cflags xcursor)', | |
239 ], | |
240 }, | |
241 'link_settings': { | |
242 'ldflags': [ | |
243 '<!@(<(pkg-config) --libs-only-L --libs-only-other xcursor)', | |
244 ], | |
245 'libraries': [ | |
246 '<!@(<(pkg-config) --libs-only-l xcursor)', | |
247 ], | |
248 }, | |
249 }, | |
250 { | |
251 'target_name': 'xcomposite', | |
252 'type': 'none', | |
253 'direct_dependent_settings': { | |
254 'cflags': [ | |
255 '<!@(<(pkg-config) --cflags xcomposite)', | |
256 ], | |
257 }, | |
258 'link_settings': { | |
259 'ldflags': [ | |
260 '<!@(<(pkg-config) --libs-only-L --libs-only-other xcomposite)', | |
261 ], | |
262 'libraries': [ | |
263 '<!@(<(pkg-config) --libs-only-l xcomposite)', | |
264 ], | |
265 }, | |
266 }, | |
267 { | |
268 'target_name': 'xdamage', | |
269 'type': 'none', | |
270 'direct_dependent_settings': { | |
271 'cflags': [ | |
272 '<!@(<(pkg-config) --cflags xdamage)', | |
273 ], | |
274 }, | |
275 'link_settings': { | |
276 'ldflags': [ | |
277 '<!@(<(pkg-config) --libs-only-L --libs-only-other xdamage)', | |
278 ], | |
279 'libraries': [ | |
280 '<!@(<(pkg-config) --libs-only-l xdamage)', | |
281 ], | |
282 }, | |
283 }, | |
284 { | |
285 'target_name': 'xext', | |
286 'type': 'none', | |
287 'direct_dependent_settings': { | |
288 'cflags': [ | |
289 '<!@(<(pkg-config) --cflags xext)', | |
290 ], | |
291 }, | |
292 'link_settings': { | |
293 'ldflags': [ | |
294 '<!@(<(pkg-config) --libs-only-L --libs-only-other xext)', | |
295 ], | |
296 'libraries': [ | |
297 '<!@(<(pkg-config) --libs-only-l xext)', | |
298 ], | |
299 }, | |
300 }, | |
301 { | |
302 'target_name': 'xfixes', | |
303 'type': 'none', | |
304 'direct_dependent_settings': { | |
305 'cflags': [ | |
306 '<!@(<(pkg-config) --cflags xfixes)', | |
307 ], | |
308 }, | |
309 'link_settings': { | |
310 'ldflags': [ | |
311 '<!@(<(pkg-config) --libs-only-L --libs-only-other xfixes)', | |
312 ], | |
313 'libraries': [ | |
314 '<!@(<(pkg-config) --libs-only-l xfixes)', | |
315 ], | |
316 }, | |
317 }, | |
318 { | |
319 'target_name': 'xi', | |
320 'type': 'none', | |
321 'direct_dependent_settings': { | |
322 'cflags': [ | |
323 '<!@(<(pkg-config) --cflags xi)', | |
324 ], | |
325 }, | |
326 'link_settings': { | |
327 'ldflags': [ | |
328 '<!@(<(pkg-config) --libs-only-L --libs-only-other xi)', | |
329 ], | |
330 'libraries': [ | |
331 '<!@(<(pkg-config) --libs-only-l xi)', | |
332 ], | |
333 }, | |
334 }, | |
335 { | |
336 'target_name': 'xrandr', | |
337 'type': 'none', | |
338 'toolsets': ['host', 'target'], | |
339 'conditions': [ | |
340 ['_toolset=="target"', { | |
341 'direct_dependent_settings': { | |
342 'cflags': [ | |
343 '<!@(<(pkg-config) --cflags xrandr)', | |
344 ], | |
345 }, | |
346 'link_settings': { | |
347 'ldflags': [ | |
348 '<!@(<(pkg-config) --libs-only-L --libs-only-other xrandr)', | |
349 ], | |
350 'libraries': [ | |
351 '<!@(<(pkg-config) --libs-only-l xrandr)', | |
352 ], | |
353 }, | |
354 }, { | |
355 'direct_dependent_settings': { | |
356 'cflags': [ | |
357 '<!@(pkg-config --cflags xrandr)', | |
358 ], | |
359 }, | |
360 'link_settings': { | |
361 'ldflags': [ | |
362 '<!@(pkg-config --libs-only-L --libs-only-other xrandr)', | |
363 ], | |
364 'libraries': [ | |
365 '<!@(pkg-config --libs-only-l xrandr)', | |
366 ], | |
367 }, | |
368 }], | |
369 ], | |
370 }, | |
371 { | |
372 'target_name': 'xrender', | |
373 'type': 'none', | |
374 'direct_dependent_settings': { | |
375 'cflags': [ | |
376 '<!@(<(pkg-config) --cflags xrender)', | |
377 ], | |
378 }, | |
379 'link_settings': { | |
380 'ldflags': [ | |
381 '<!@(<(pkg-config) --libs-only-L --libs-only-other xrender)', | |
382 ], | |
383 'libraries': [ | |
384 '<!@(<(pkg-config) --libs-only-l xrender)', | |
385 ], | |
386 }, | |
387 }, | |
388 { | |
389 'target_name': 'xtst', | |
390 'type': 'none', | |
391 'toolsets': ['host', 'target'], | |
392 'conditions': [ | |
393 ['_toolset=="target"', { | |
394 'direct_dependent_settings': { | |
395 'cflags': [ | |
396 '<!@(<(pkg-config) --cflags xtst)', | |
397 ], | |
398 }, | |
399 'link_settings': { | |
400 'ldflags': [ | |
401 '<!@(<(pkg-config) --libs-only-L --libs-only-other xtst)', | |
402 ], | |
403 'libraries': [ | |
404 '<!@(<(pkg-config) --libs-only-l xtst)', | |
405 ], | |
406 }, | |
407 }, { | |
408 'direct_dependent_settings': { | |
409 'cflags': [ | |
410 '<!@(pkg-config --cflags xtst)', | |
411 ], | |
412 }, | |
413 'link_settings': { | |
414 'ldflags': [ | |
415 '<!@(pkg-config --libs-only-L --libs-only-other xtst)', | |
416 ], | |
417 'libraries': [ | |
418 '<!@(pkg-config --libs-only-l xtst)', | |
419 ], | |
420 }, | |
421 }] | |
422 ] | |
423 } | |
424 ], # targets | |
425 }], | |
426 ['use_x11==1 and chromeos==0', { | |
427 'targets': [ | |
428 { | |
429 'target_name': 'xscrnsaver', | |
430 'type': 'none', | |
431 'direct_dependent_settings': { | |
432 'cflags': [ | |
433 '<!@(<(pkg-config) --cflags xscrnsaver)', | |
434 ], | |
435 }, | |
436 'link_settings': { | |
437 'ldflags': [ | |
438 '<!@(<(pkg-config) --libs-only-L --libs-only-other xscrnsaver)', | |
439 ], | |
440 'libraries': [ | |
441 '<!@(<(pkg-config) --libs-only-l xscrnsaver)', | |
442 ], | |
443 }, | |
444 }, | |
445 ], # targets | |
446 }], | |
447 ['use_evdev_gestures==1', { | |
448 'targets': [ | |
449 { | |
450 'target_name': 'libevdev-cros', | |
451 'type': 'none', | |
452 'direct_dependent_settings': { | |
453 'cflags': [ | |
454 '<!@(<(pkg-config) --cflags libevdev-cros)' | |
455 ], | |
456 }, | |
457 'link_settings': { | |
458 'ldflags': [ | |
459 '<!@(<(pkg-config) --libs-only-L --libs-only-other libevdev-cros)'
, | |
460 ], | |
461 'libraries': [ | |
462 '<!@(<(pkg-config) --libs-only-l libevdev-cros)', | |
463 ], | |
464 }, | |
465 }, | |
466 { | |
467 'target_name': 'libgestures', | |
468 'type': 'none', | |
469 'direct_dependent_settings': { | |
470 'cflags': [ | |
471 '<!@(<(pkg-config) --cflags libgestures)' | |
472 ], | |
473 }, | |
474 'link_settings': { | |
475 'ldflags': [ | |
476 '<!@(<(pkg-config) --libs-only-L --libs-only-other libgestures)', | |
477 ], | |
478 'libraries': [ | |
479 '<!@(<(pkg-config) --libs-only-l libgestures)', | |
480 ], | |
481 }, | |
482 }, | |
483 ], | |
484 }], | |
485 ['use_xkbcommon==1', { | |
486 'targets': [ | |
487 { | |
488 'target_name': 'xkbcommon', | |
489 'type': 'none', | |
490 'direct_dependent_settings': { | |
491 'cflags': [ | |
492 '<!@(<(pkg-config) --cflags xkbcommon)' | |
493 ], | |
494 }, | |
495 'link_settings': { | |
496 'ldflags': [ | |
497 '<!@(<(pkg-config) --libs-only-L --libs-only-other xkbcommon)', | |
498 ], | |
499 'libraries': [ | |
500 '<!@(<(pkg-config) --libs-only-l xkbcommon)', | |
501 ], | |
502 }, | |
503 }, | |
504 ], | |
505 }], | |
506 ['ozone_platform_gbm==1', { | |
507 'targets': [ | |
508 { | |
509 'target_name': 'gbm', | |
510 'type': 'none', | |
511 'direct_dependent_settings': { | |
512 'cflags': [ | |
513 '<!@(<(pkg-config) --cflags gbm)', | |
514 ], | |
515 }, | |
516 'link_settings': { | |
517 'ldflags': [ | |
518 '<!@(<(pkg-config) --libs-only-L --libs-only-other gbm)', | |
519 ], | |
520 'libraries': [ | |
521 '<!@(<(pkg-config) --libs-only-l gbm)', | |
522 ], | |
523 }, | |
524 }, | |
525 ], | |
526 }], | |
527 ['ozone_platform_drm==1 or ozone_platform_gbm==1', { | |
528 'targets': [ | |
529 { | |
530 'target_name': 'libdrm', | |
531 'type': 'none', | |
532 'direct_dependent_settings': { | |
533 'cflags': [ | |
534 '<!@(<(pkg-config) --cflags libdrm)', | |
535 ], | |
536 }, | |
537 'link_settings': { | |
538 'libraries': [ | |
539 '<!@(<(pkg-config) --libs-only-l libdrm)', | |
540 ], | |
541 }, | |
542 }, | |
543 ], | |
544 }], | |
545 ['use_udev==1', { | |
546 'targets': [ | |
547 { | |
548 'target_name': 'udev', | |
549 'type': 'static_library', | |
550 'conditions': [ | |
551 ['_toolset=="target"', { | |
552 'include_dirs': [ | |
553 '../..', | |
554 ], | |
555 'hard_dependency': 1, | |
556 'actions': [ | |
557 { | |
558 'variables': { | |
559 'output_h': '<(SHARED_INTERMEDIATE_DIR)/library_loaders/libu
dev0.h', | |
560 'output_cc': '<(INTERMEDIATE_DIR)/libudev0_loader.cc', | |
561 'generator': '../../tools/generate_library_loader/generate_l
ibrary_loader.py', | |
562 }, | |
563 'action_name': 'generate_libudev0_loader', | |
564 'inputs': [ | |
565 '<(generator)', | |
566 ], | |
567 'outputs': [ | |
568 '<(output_h)', | |
569 '<(output_cc)', | |
570 ], | |
571 'action': ['python', | |
572 '<(generator)', | |
573 '--name', 'LibUdev0Loader', | |
574 '--output-h', '<(output_h)', | |
575 '--output-cc', '<(output_cc)', | |
576 '--header', '"third_party/libudev/libudev0.h"', | |
577 '--link-directly=0', | |
578 '<@(libudev_functions)', | |
579 ], | |
580 'message': 'Generating libudev0 library loader', | |
581 'process_outputs_as_sources': 1, | |
582 }, | |
583 { | |
584 'variables': { | |
585 'output_h': '<(SHARED_INTERMEDIATE_DIR)/library_loaders/libu
dev1.h', | |
586 'output_cc': '<(INTERMEDIATE_DIR)/libudev1_loader.cc', | |
587 'generator': '../../tools/generate_library_loader/generate_l
ibrary_loader.py', | |
588 }, | |
589 'action_name': 'generate_libudev1_loader', | |
590 'inputs': [ | |
591 '<(generator)', | |
592 ], | |
593 'outputs': [ | |
594 '<(output_h)', | |
595 '<(output_cc)', | |
596 ], | |
597 'action': ['python', | |
598 '<(generator)', | |
599 '--name', 'LibUdev1Loader', | |
600 '--output-h', '<(output_h)', | |
601 '--output-cc', '<(output_cc)', | |
602 '--header', '"third_party/libudev/libudev1.h"', | |
603 '--link-directly=0', | |
604 '<@(libudev_functions)', | |
605 ], | |
606 'message': 'Generating libudev1 library loader', | |
607 'process_outputs_as_sources': 1, | |
608 }, | |
609 ], | |
610 }], | |
611 ], | |
612 }, | |
613 ], | |
614 }], | |
615 ['use_libpci==1', { | |
616 'targets': [ | |
617 { | |
618 'target_name': 'libpci', | |
619 'type': 'static_library', | |
620 'cflags': [ | |
621 '<!@(<(pkg-config) --cflags libpci)', | |
622 ], | |
623 'direct_dependent_settings': { | |
624 'include_dirs': [ | |
625 '<(SHARED_INTERMEDIATE_DIR)', | |
626 ], | |
627 'conditions': [ | |
628 ['linux_link_libpci==1', { | |
629 'link_settings': { | |
630 'ldflags': [ | |
631 '<!@(<(pkg-config) --libs-only-L --libs-only-other libpci)', | |
632 ], | |
633 'libraries': [ | |
634 '<!@(<(pkg-config) --libs-only-l libpci)', | |
635 ], | |
636 } | |
637 }], | |
638 ], | |
639 }, | |
640 'include_dirs': [ | |
641 '../..', | |
642 ], | |
643 'hard_dependency': 1, | |
644 'actions': [ | |
645 { | |
646 'variables': { | |
647 'output_h': '<(SHARED_INTERMEDIATE_DIR)/library_loaders/libpci.h
', | |
648 'output_cc': '<(INTERMEDIATE_DIR)/libpci_loader.cc', | |
649 'generator': '../../tools/generate_library_loader/generate_libra
ry_loader.py', | |
650 }, | |
651 'action_name': 'generate_libpci_loader', | |
652 'inputs': [ | |
653 '<(generator)', | |
654 ], | |
655 'outputs': [ | |
656 '<(output_h)', | |
657 '<(output_cc)', | |
658 ], | |
659 'action': ['python', | |
660 '<(generator)', | |
661 '--name', 'LibPciLoader', | |
662 '--output-h', '<(output_h)', | |
663 '--output-cc', '<(output_cc)', | |
664 '--header', '<pci/pci.h>', | |
665 # TODO(phajdan.jr): Report problem to pciutils project | |
666 # and get it fixed so that we don't need --use-extern-c
. | |
667 '--use-extern-c', | |
668 '--link-directly=<(linux_link_libpci)', | |
669 '<@(libpci_functions)', | |
670 ], | |
671 'message': 'Generating libpci library loader', | |
672 'process_outputs_as_sources': 1, | |
673 }, | |
674 ], | |
675 }, | |
676 ], | |
677 }], | |
678 ], # conditions | |
679 'targets': [ | |
680 { | |
681 'target_name': 'dbus', | |
682 'type': 'none', | |
683 'direct_dependent_settings': { | |
684 'cflags': [ | |
685 '<!@(<(pkg-config) --cflags dbus-1)', | |
686 ], | |
687 }, | |
688 'link_settings': { | |
689 'ldflags': [ | |
690 '<!@(<(pkg-config) --libs-only-L --libs-only-other dbus-1)', | |
691 ], | |
692 'libraries': [ | |
693 '<!@(<(pkg-config) --libs-only-l dbus-1)', | |
694 ], | |
695 }, | |
696 }, | |
697 { | |
698 'target_name': 'fontconfig', | |
699 'type': 'none', | |
700 'conditions': [ | |
701 ['_toolset=="target"', { | |
702 'conditions': [ | |
703 ['use_system_fontconfig==1', { | |
704 'direct_dependent_settings': { | |
705 'cflags': [ | |
706 '<!@(<(pkg-config) --cflags fontconfig)', | |
707 ], | |
708 }, | |
709 'link_settings': { | |
710 'ldflags': [ | |
711 '<!@(<(pkg-config) --libs-only-L --libs-only-other fontconfig)
', | |
712 ], | |
713 'libraries': [ | |
714 '<!@(<(pkg-config) --libs-only-l fontconfig)', | |
715 ], | |
716 }, | |
717 }, { # use_system_fontconfig==0 | |
718 'dependencies': [ | |
719 '../../third_party/fontconfig/fontconfig.gyp:fontconfig', | |
720 ], | |
721 'export_dependent_settings' : [ | |
722 '../../third_party/fontconfig/fontconfig.gyp:fontconfig', | |
723 ], | |
724 }], | |
725 ], | |
726 }], | |
727 ], | |
728 }, | |
729 { | |
730 'target_name': 'freetype2', | |
731 'type': 'none', | |
732 'conditions': [ | |
733 ['_toolset=="target"', { | |
734 'direct_dependent_settings': { | |
735 'cflags': [ | |
736 '<!@(<(pkg-config) --cflags freetype2)', | |
737 ], | |
738 }, | |
739 'link_settings': { | |
740 'ldflags': [ | |
741 '<!@(<(pkg-config) --libs-only-L --libs-only-other freetype2)', | |
742 ], | |
743 'libraries': [ | |
744 '<!@(<(pkg-config) --libs-only-l freetype2)', | |
745 ], | |
746 }, | |
747 }], | |
748 ], | |
749 }, | |
750 { | |
751 'target_name': 'gconf', | |
752 'type': 'none', | |
753 'conditions': [ | |
754 ['use_gconf==1 and _toolset=="target"', { | |
755 'direct_dependent_settings': { | |
756 'cflags': [ | |
757 '<!@(<(pkg-config) --cflags gconf-2.0)', | |
758 ], | |
759 'defines': [ | |
760 'USE_GCONF', | |
761 ], | |
762 }, | |
763 'link_settings': { | |
764 'ldflags': [ | |
765 '<!@(<(pkg-config) --libs-only-L --libs-only-other gconf-2.0)', | |
766 ], | |
767 'libraries': [ | |
768 '<!@(<(pkg-config) --libs-only-l gconf-2.0)', | |
769 ], | |
770 }, | |
771 }], | |
772 ], | |
773 }, | |
774 { | |
775 'target_name': 'gio', | |
776 'type': 'static_library', | |
777 'conditions': [ | |
778 ['use_gio==1 and _toolset=="target"', { | |
779 'cflags': [ | |
780 '<!@(<(pkg-config) --cflags gio-2.0)', | |
781 ], | |
782 'variables': { | |
783 'gio_warning_define': [ | |
784 # glib >=2.40 deprecate g_settings_list_schemas in favor of | |
785 # g_settings_schema_source_list_schemas. This function is not | |
786 # available on earlier versions that we still need to support | |
787 # (specifically, 2.32), so disable the warning. | |
788 # TODO(mgiuca): Remove this suppression (and variable) when we | |
789 # drop support for Ubuntu 13.10 (saucy) and earlier. Update the | |
790 # code to use g_settings_schema_source_list_schemas instead. | |
791 'GLIB_DISABLE_DEPRECATION_WARNINGS', | |
792 ], | |
793 }, | |
794 'defines': [ | |
795 '<(gio_warning_define)', | |
796 ], | |
797 'direct_dependent_settings': { | |
798 'cflags': [ | |
799 '<!@(<(pkg-config) --cflags gio-2.0)', | |
800 ], | |
801 'defines': [ | |
802 'USE_GIO', | |
803 '<(gio_warning_define)', | |
804 ], | |
805 'include_dirs': [ | |
806 '<(SHARED_INTERMEDIATE_DIR)', | |
807 ], | |
808 }, | |
809 'include_dirs': [ | |
810 '../..', | |
811 ], | |
812 'link_settings': { | |
813 'ldflags': [ | |
814 '<!@(<(pkg-config) --libs-only-L --libs-only-other gio-2.0)', | |
815 ], | |
816 'libraries': [ | |
817 '<!@(<(pkg-config) --libs-only-l gio-2.0)', | |
818 ], | |
819 'conditions': [ | |
820 ['linux_link_gsettings==0 and OS=="linux"', { | |
821 'libraries': [ | |
822 '-ldl', | |
823 ], | |
824 }], | |
825 ], | |
826 }, | |
827 'hard_dependency': 1, | |
828 'actions': [ | |
829 { | |
830 'variables': { | |
831 'output_h': '<(SHARED_INTERMEDIATE_DIR)/library_loaders/libgio.h
', | |
832 'output_cc': '<(INTERMEDIATE_DIR)/libgio_loader.cc', | |
833 'generator': '../../tools/generate_library_loader/generate_libra
ry_loader.py', | |
834 }, | |
835 'action_name': 'generate_libgio_loader', | |
836 'inputs': [ | |
837 '<(generator)', | |
838 ], | |
839 'outputs': [ | |
840 '<(output_h)', | |
841 '<(output_cc)', | |
842 ], | |
843 'action': ['python', | |
844 '<(generator)', | |
845 '--name', 'LibGioLoader', | |
846 '--output-h', '<(output_h)', | |
847 '--output-cc', '<(output_cc)', | |
848 '--header', '<gio/gio.h>', | |
849 '--link-directly=<(linux_link_gsettings)', | |
850 '<@(libgio_functions)', | |
851 ], | |
852 'message': 'Generating libgio library loader', | |
853 'process_outputs_as_sources': 1, | |
854 }, | |
855 ], | |
856 }], | |
857 ], | |
858 }, | |
859 { | |
860 'target_name': 'glib', | |
861 'type': 'none', | |
862 'toolsets': ['host', 'target'], | |
863 'variables': { | |
864 'glib_packages': 'glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0', | |
865 }, | |
866 'conditions': [ | |
867 ['_toolset=="target"', { | |
868 'direct_dependent_settings': { | |
869 'cflags': [ | |
870 '<!@(<(pkg-config) --cflags <(glib_packages))', | |
871 ], | |
872 }, | |
873 'link_settings': { | |
874 'ldflags': [ | |
875 '<!@(<(pkg-config) --libs-only-L --libs-only-other <(glib_packages
))', | |
876 ], | |
877 'libraries': [ | |
878 '<!@(<(pkg-config) --libs-only-l <(glib_packages))', | |
879 ], | |
880 }, | |
881 }, { | |
882 'direct_dependent_settings': { | |
883 'cflags': [ | |
884 '<!@(pkg-config --cflags <(glib_packages))', | |
885 ], | |
886 }, | |
887 'link_settings': { | |
888 'ldflags': [ | |
889 '<!@(pkg-config --libs-only-L --libs-only-other <(glib_packages))'
, | |
890 ], | |
891 'libraries': [ | |
892 '<!@(pkg-config --libs-only-l <(glib_packages))', | |
893 ], | |
894 }, | |
895 }], | |
896 ], | |
897 }, | |
898 { | |
899 'target_name': 'gnome_keyring', | |
900 'type': 'none', | |
901 'conditions': [ | |
902 ['use_gnome_keyring==1', { | |
903 'direct_dependent_settings': { | |
904 'cflags': [ | |
905 '<!@(<(pkg-config) --cflags gnome-keyring-1)', | |
906 ], | |
907 'defines': [ | |
908 'USE_GNOME_KEYRING', | |
909 ], | |
910 'conditions': [ | |
911 ['linux_link_gnome_keyring==0', { | |
912 'defines': ['DLOPEN_GNOME_KEYRING'], | |
913 }], | |
914 ], | |
915 }, | |
916 'conditions': [ | |
917 ['linux_link_gnome_keyring!=0', { | |
918 'link_settings': { | |
919 'ldflags': [ | |
920 '<!@(<(pkg-config) --libs-only-L --libs-only-other gnome-keyri
ng-1)', | |
921 ], | |
922 'libraries': [ | |
923 '<!@(<(pkg-config) --libs-only-l gnome-keyring-1)', | |
924 ], | |
925 }, | |
926 }, { | |
927 'conditions': [ | |
928 ['OS=="linux"', { | |
929 'link_settings': { | |
930 'libraries': [ | |
931 '-ldl', | |
932 ], | |
933 }, | |
934 }], | |
935 ], | |
936 }], | |
937 ], | |
938 }], | |
939 ], | |
940 }, | |
941 { | |
942 # The unit tests use a few convenience functions from the GNOME | |
943 # Keyring library directly. We ignore linux_link_gnome_keyring and | |
944 # link directly in this version of the target to allow this. | |
945 # *** Do not use this target in the main binary! *** | |
946 'target_name': 'gnome_keyring_direct', | |
947 'type': 'none', | |
948 'conditions': [ | |
949 ['use_gnome_keyring==1', { | |
950 'direct_dependent_settings': { | |
951 'cflags': [ | |
952 '<!@(<(pkg-config) --cflags gnome-keyring-1)', | |
953 ], | |
954 'defines': [ | |
955 'USE_GNOME_KEYRING', | |
956 ], | |
957 'conditions': [ | |
958 ['linux_link_gnome_keyring==0', { | |
959 'defines': ['DLOPEN_GNOME_KEYRING'], | |
960 }], | |
961 ], | |
962 }, | |
963 'link_settings': { | |
964 'ldflags': [ | |
965 '<!@(<(pkg-config) --libs-only-L --libs-only-other gnome-keyring-1
)', | |
966 ], | |
967 'libraries': [ | |
968 '<!@(<(pkg-config) --libs-only-l gnome-keyring-1)', | |
969 ], | |
970 }, | |
971 }], | |
972 ], | |
973 }, | |
974 { | |
975 'target_name': 'libbrlapi', | |
976 'type': 'static_library', | |
977 'all_dependent_settings': { | |
978 'include_dirs': [ | |
979 '<(SHARED_INTERMEDIATE_DIR)', | |
980 ], | |
981 'defines': [ | |
982 'USE_BRLAPI', | |
983 ], | |
984 'conditions': [ | |
985 ['linux_link_libbrlapi==1', { | |
986 'link_settings': { | |
987 'libraries': [ | |
988 '-lbrlapi', | |
989 ], | |
990 } | |
991 }], | |
992 ], | |
993 }, | |
994 'include_dirs': [ | |
995 '../..', | |
996 ], | |
997 'hard_dependency': 1, | |
998 'actions': [ | |
999 { | |
1000 'variables': { | |
1001 'output_h': '<(SHARED_INTERMEDIATE_DIR)/library_loaders/libbrlapi.h'
, | |
1002 'output_cc': '<(INTERMEDIATE_DIR)/libbrlapi_loader.cc', | |
1003 'generator': '../../tools/generate_library_loader/generate_library_l
oader.py', | |
1004 }, | |
1005 'action_name': 'generate_brlapi_loader', | |
1006 'inputs': [ | |
1007 '<(generator)', | |
1008 ], | |
1009 'outputs': [ | |
1010 '<(output_h)', | |
1011 '<(output_cc)', | |
1012 ], | |
1013 'action': ['python', | |
1014 '<(generator)', | |
1015 '--name', 'LibBrlapiLoader', | |
1016 '--output-h', '<(output_h)', | |
1017 '--output-cc', '<(output_cc)', | |
1018 '--header', '<brlapi.h>', | |
1019 '--link-directly=<(linux_link_libbrlapi)', | |
1020 '<@(libbrlapi_functions)', | |
1021 ], | |
1022 'message': 'Generating libbrlapi library loader', | |
1023 'process_outputs_as_sources': 1, | |
1024 }, | |
1025 ], | |
1026 }, | |
1027 { | |
1028 'target_name': 'libcap', | |
1029 'type': 'none', | |
1030 'link_settings': { | |
1031 'libraries': [ | |
1032 '-lcap', | |
1033 ], | |
1034 }, | |
1035 }, | |
1036 { | |
1037 'target_name': 'libresolv', | |
1038 'type': 'none', | |
1039 'link_settings': { | |
1040 'libraries': [ | |
1041 '-lresolv', | |
1042 ], | |
1043 }, | |
1044 }, | |
1045 { | |
1046 # GN version: //third_party/speech-dispatcher | |
1047 'target_name': 'libspeechd', | |
1048 'type': 'static_library', | |
1049 'direct_dependent_settings': { | |
1050 'include_dirs': [ | |
1051 '<(SHARED_INTERMEDIATE_DIR)', | |
1052 ], | |
1053 'conditions': [ | |
1054 ['linux_link_libspeechd==1', { | |
1055 'link_settings': { | |
1056 'libraries': [ | |
1057 '-lspeechd', | |
1058 ], | |
1059 } | |
1060 }], | |
1061 ], | |
1062 }, | |
1063 'include_dirs': [ | |
1064 '../..', | |
1065 ], | |
1066 'hard_dependency': 1, | |
1067 'actions': [ | |
1068 { | |
1069 'variables': { | |
1070 'output_h': '<(SHARED_INTERMEDIATE_DIR)/library_loaders/libspeechd.h
', | |
1071 'output_cc': '<(INTERMEDIATE_DIR)/libspeechd_loader.cc', | |
1072 'generator': '../../tools/generate_library_loader/generate_library_l
oader.py', | |
1073 | |
1074 # speech-dispatcher >= 0.8 installs libspeechd.h into | |
1075 # speech-dispatcher/libspeechd.h, whereas speech-dispatcher < 0.8 | |
1076 # puts libspeechd.h in the top-level include directory. | |
1077 # Since we need to support both cases for now, we ship a copy of | |
1078 # libspeechd.h in third_party/speech-dispatcher. If the user | |
1079 # prefers to link against the speech-dispatcher directly, the | |
1080 # `libspeechd_h_prefix' variable can be passed to gyp with a value | |
1081 # such as "speech-dispatcher/" that will be prepended to | |
1082 # "libspeechd.h" in the #include directive. | |
1083 # TODO(phaldan.jr): Once we do not need to support | |
1084 # speech-dispatcher < 0.8 we can get rid of all this (including | |
1085 # third_party/speech-dispatcher) and just include | |
1086 # speech-dispatcher/libspeechd.h unconditionally. | |
1087 'libspeechd_h_prefix%': '', | |
1088 }, | |
1089 'action_name': 'generate_libspeechd_loader', | |
1090 'inputs': [ | |
1091 '<(generator)', | |
1092 ], | |
1093 'outputs': [ | |
1094 '<(output_h)', | |
1095 '<(output_cc)', | |
1096 ], | |
1097 'action': ['python', | |
1098 '<(generator)', | |
1099 '--name', 'LibSpeechdLoader', | |
1100 '--output-h', '<(output_h)', | |
1101 '--output-cc', '<(output_cc)', | |
1102 '--header', '<<(libspeechd_h_prefix)libspeechd.h>', | |
1103 '--bundled-header', | |
1104 '"third_party/speech-dispatcher/libspeechd.h"', | |
1105 '--link-directly=<(linux_link_libspeechd)', | |
1106 'spd_open', | |
1107 'spd_say', | |
1108 'spd_stop', | |
1109 'spd_close', | |
1110 'spd_pause', | |
1111 'spd_resume', | |
1112 'spd_set_notification_on', | |
1113 'spd_set_voice_rate', | |
1114 'spd_set_voice_pitch', | |
1115 'spd_list_synthesis_voices', | |
1116 'spd_set_synthesis_voice', | |
1117 'spd_list_modules', | |
1118 'spd_set_output_module', | |
1119 'spd_set_language', | |
1120 ], | |
1121 'message': 'Generating libspeechd library loader', | |
1122 'process_outputs_as_sources': 1, | |
1123 }, | |
1124 ], | |
1125 }, | |
1126 { | |
1127 'target_name': 'pangocairo', | |
1128 'type': 'none', | |
1129 'toolsets': ['host', 'target'], | |
1130 'conditions': [ | |
1131 ['use_pango==1 and use_cairo==1', { | |
1132 'conditions': [ | |
1133 ['_toolset=="target"', { | |
1134 'direct_dependent_settings': { | |
1135 'cflags': [ | |
1136 '<!@(<(pkg-config) --cflags pangocairo pangoft2)', | |
1137 ], | |
1138 }, | |
1139 'link_settings': { | |
1140 'ldflags': [ | |
1141 '<!@(<(pkg-config) --libs-only-L --libs-only-other pangocairo
pangoft2)', | |
1142 ], | |
1143 'libraries': [ | |
1144 '<!@(<(pkg-config) --libs-only-l pangocairo pangoft2)', | |
1145 ], | |
1146 }, | |
1147 }, { | |
1148 'direct_dependent_settings': { | |
1149 'cflags': [ | |
1150 '<!@(pkg-config --cflags pangocairo pangoft2)', | |
1151 ], | |
1152 }, | |
1153 'link_settings': { | |
1154 'ldflags': [ | |
1155 '<!@(pkg-config --libs-only-L --libs-only-other pangocairo pan
goft2)', | |
1156 ], | |
1157 'libraries': [ | |
1158 '<!@(pkg-config --libs-only-l pangocairo pangoft2)', | |
1159 ], | |
1160 }, | |
1161 }], | |
1162 ], | |
1163 }], | |
1164 ], | |
1165 }, | |
1166 { | |
1167 'target_name': 'ssl', | |
1168 'type': 'none', | |
1169 'conditions': [ | |
1170 ['_toolset=="target"', { | |
1171 'conditions': [ | |
1172 ['use_openssl==1', { | |
1173 'dependencies': [ | |
1174 '../../third_party/boringssl/boringssl.gyp:boringssl', | |
1175 ], | |
1176 }, { | |
1177 'dependencies': [ | |
1178 '../../net/third_party/nss/ssl.gyp:libssl', | |
1179 ], | |
1180 'direct_dependent_settings': { | |
1181 'include_dirs+': [ | |
1182 # We need for our local copies of the libssl3 headers to come | |
1183 # before other includes, as we are shadowing system headers. | |
1184 '<(DEPTH)/net/third_party/nss/ssl', | |
1185 ], | |
1186 }, | |
1187 }], | |
1188 # Link in the system NSS if it is used for either the internal | |
1189 # crypto library (use_openssl==0) or platform certificate | |
1190 # library (use_nss_certs==1). | |
1191 ['use_openssl==0 or use_nss_certs==1', { | |
1192 'direct_dependent_settings': { | |
1193 'cflags': [ | |
1194 '<!@(<(pkg-config) --cflags nss)', | |
1195 ], | |
1196 }, | |
1197 'link_settings': { | |
1198 'ldflags': [ | |
1199 '<!@(<(pkg-config) --libs-only-L --libs-only-other nss)', | |
1200 ], | |
1201 'libraries': [ | |
1202 '<!@(<(pkg-config) --libs-only-l nss | sed -e "s/-lssl3//")', | |
1203 ], | |
1204 }, | |
1205 'conditions': [ | |
1206 ['clang==1', { | |
1207 'direct_dependent_settings': { | |
1208 'cflags': [ | |
1209 # There is a broken header guard in /usr/include/nss/secmo
d.h: | |
1210 # https://bugzilla.mozilla.org/show_bug.cgi?id=884072 | |
1211 '-Wno-header-guard', | |
1212 ], | |
1213 }, | |
1214 }], | |
1215 ], | |
1216 }], | |
1217 ] | |
1218 }], | |
1219 ], | |
1220 }, | |
1221 ], | |
1222 } | |
OLD | NEW |