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