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