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 |