| OLD | NEW |
| (Empty) |
| 1 # Copyright 2013 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 'verbose_libraries_build%': 0, | |
| 8 'instrumented_libraries_jobs%': 1, | |
| 9 'instrumented_libraries_cc%': '<!(cd <(DEPTH) && pwd -P)/<(make_clang_dir)/b
in/clang', | |
| 10 'instrumented_libraries_cxx%': '<!(cd <(DEPTH) && pwd -P)/<(make_clang_dir)/
bin/clang++', | |
| 11 }, | |
| 12 | |
| 13 'libdir': 'lib', | |
| 14 'ubuntu_release': '<!(lsb_release -cs)', | |
| 15 | |
| 16 'conditions': [ | |
| 17 ['asan==1', { | |
| 18 'sanitizer_type': 'asan', | |
| 19 }], | |
| 20 ['msan==1', { | |
| 21 'sanitizer_type': 'msan', | |
| 22 }], | |
| 23 ['tsan==1', { | |
| 24 'sanitizer_type': 'tsan', | |
| 25 }], | |
| 26 ['use_goma==1', { | |
| 27 'cc': '<(gomadir)/gomacc <(instrumented_libraries_cc)', | |
| 28 'cxx': '<(gomadir)/gomacc <(instrumented_libraries_cxx)', | |
| 29 }, { | |
| 30 'cc': '<(instrumented_libraries_cc)', | |
| 31 'cxx': '<(instrumented_libraries_cxx)', | |
| 32 }], | |
| 33 ], | |
| 34 | |
| 35 'target_defaults': { | |
| 36 'build_method': 'destdir', | |
| 37 # Every package must have --disable-static in configure flags to avoid | |
| 38 # building unnecessary static libs. Ideally we should add it here. | |
| 39 # Unfortunately, zlib1g doesn't support that flag and for some reason it | |
| 40 # can't be removed with a GYP exclusion list. So instead we add that flag | |
| 41 # manually to every package but zlib1g. | |
| 42 'extra_configure_flags': [], | |
| 43 'jobs': '<(instrumented_libraries_jobs)', | |
| 44 'package_cflags': [ | |
| 45 '-O2', | |
| 46 '-gline-tables-only', | |
| 47 '-fPIC', | |
| 48 '-w', | |
| 49 '-U_FORITFY_SOURCE', | |
| 50 '-fno-omit-frame-pointer' | |
| 51 ], | |
| 52 'package_ldflags': [ | |
| 53 '-Wl,-z,origin', | |
| 54 # We set RPATH=XORIGIN when building the package and replace it with | |
| 55 # $ORIGIN later. The reason is that this flag goes through configure/make | |
| 56 # differently for different packages. Because of this, we can't escape the | |
| 57 # $ character in a way that would work for every package. | |
| 58 '-Wl,-R,XORIGIN/.' | |
| 59 ], | |
| 60 'patch': '', | |
| 61 'pre_build': '', | |
| 62 'asan_blacklist': '', | |
| 63 'msan_blacklist': '', | |
| 64 'tsan_blacklist': '', | |
| 65 | |
| 66 'conditions': [ | |
| 67 ['asan==1', { | |
| 68 'package_cflags': ['-fsanitize=address'], | |
| 69 'package_ldflags': ['-fsanitize=address'], | |
| 70 }], | |
| 71 ['msan==1', { | |
| 72 'package_cflags': [ | |
| 73 '-fsanitize=memory', | |
| 74 '-fsanitize-memory-track-origins=<(msan_track_origins)' | |
| 75 ], | |
| 76 'package_ldflags': ['-fsanitize=memory'], | |
| 77 }], | |
| 78 ['tsan==1', { | |
| 79 'package_cflags': ['-fsanitize=thread'], | |
| 80 'package_ldflags': ['-fsanitize=thread'], | |
| 81 }], | |
| 82 ], | |
| 83 }, | |
| 84 | |
| 85 'targets': [ | |
| 86 { | |
| 87 'target_name': 'prebuilt_instrumented_libraries', | |
| 88 'type': 'none', | |
| 89 'variables': { | |
| 90 'prune_self_dependency': 1, | |
| 91 # Don't add this target to the dependencies of targets with type=none. | |
| 92 'link_dependency': 1, | |
| 93 'conditions': [ | |
| 94 ['msan==1', { | |
| 95 'conditions': [ | |
| 96 ['msan_track_origins==2', { | |
| 97 'archive_prefix': 'msan-chained-origins', | |
| 98 }, { | |
| 99 'conditions': [ | |
| 100 ['msan_track_origins==0', { | |
| 101 'archive_prefix': 'msan-no-origins', | |
| 102 }, { | |
| 103 'archive_prefix': 'UNSUPPORTED_CONFIGURATION' | |
| 104 }], | |
| 105 ]}], | |
| 106 ]}, { | |
| 107 'archive_prefix': 'UNSUPPORTED_CONFIGURATION' | |
| 108 }], | |
| 109 ], | |
| 110 }, | |
| 111 'actions': [ | |
| 112 { | |
| 113 'action_name': 'unpack_<(archive_prefix)-<(_ubuntu_release).tgz', | |
| 114 'inputs': [ | |
| 115 'binaries/<(archive_prefix)-<(_ubuntu_release).tgz', | |
| 116 ], | |
| 117 'outputs': [ | |
| 118 '<(PRODUCT_DIR)/instrumented_libraries_prebuilt/<(archive_prefix).tx
t', | |
| 119 ], | |
| 120 'action': [ | |
| 121 'scripts/unpack_binaries.py', | |
| 122 '<(archive_prefix)', | |
| 123 'binaries', | |
| 124 '<(PRODUCT_DIR)/instrumented_libraries_prebuilt/', | |
| 125 ], | |
| 126 }, | |
| 127 ], | |
| 128 'direct_dependent_settings': { | |
| 129 'target_conditions': [ | |
| 130 ['_toolset=="target"', { | |
| 131 'ldflags': [ | |
| 132 # Add a relative RPATH entry to Chromium binaries. This puts | |
| 133 # instrumented DSOs before system-installed versions in library | |
| 134 # search path. | |
| 135 '-Wl,-R,\$$ORIGIN/instrumented_libraries_prebuilt/<(_sanitizer_typ
e)/<(_libdir)/', | |
| 136 '-Wl,-z,origin', | |
| 137 ], | |
| 138 }], | |
| 139 ], | |
| 140 }, | |
| 141 }, | |
| 142 { | |
| 143 'target_name': 'instrumented_libraries', | |
| 144 'type': 'none', | |
| 145 'variables': { | |
| 146 'prune_self_dependency': 1, | |
| 147 # Don't add this target to the dependencies of targets with type=none. | |
| 148 'link_dependency': 1, | |
| 149 }, | |
| 150 # NOTE: Please keep install-build-deps.sh in sync with this list. | |
| 151 'dependencies': [ | |
| 152 '<(_sanitizer_type)-freetype', | |
| 153 '<(_sanitizer_type)-libcairo2', | |
| 154 '<(_sanitizer_type)-libexpat1', | |
| 155 '<(_sanitizer_type)-libffi6', | |
| 156 '<(_sanitizer_type)-libgcrypt11', | |
| 157 '<(_sanitizer_type)-libgpg-error0', | |
| 158 '<(_sanitizer_type)-libnspr4', | |
| 159 '<(_sanitizer_type)-libp11-kit0', | |
| 160 '<(_sanitizer_type)-libpcre3', | |
| 161 '<(_sanitizer_type)-libpng12-0', | |
| 162 '<(_sanitizer_type)-libx11-6', | |
| 163 '<(_sanitizer_type)-libxau6', | |
| 164 '<(_sanitizer_type)-libxcb1', | |
| 165 '<(_sanitizer_type)-libxcomposite1', | |
| 166 '<(_sanitizer_type)-libxcursor1', | |
| 167 '<(_sanitizer_type)-libxdamage1', | |
| 168 '<(_sanitizer_type)-libxdmcp6', | |
| 169 '<(_sanitizer_type)-libxext6', | |
| 170 '<(_sanitizer_type)-libxfixes3', | |
| 171 '<(_sanitizer_type)-libxi6', | |
| 172 '<(_sanitizer_type)-libxinerama1', | |
| 173 '<(_sanitizer_type)-libxrandr2', | |
| 174 '<(_sanitizer_type)-libxrender1', | |
| 175 '<(_sanitizer_type)-libxss1', | |
| 176 '<(_sanitizer_type)-libxtst6', | |
| 177 '<(_sanitizer_type)-zlib1g', | |
| 178 '<(_sanitizer_type)-libglib2.0-0', | |
| 179 '<(_sanitizer_type)-libdbus-1-3', | |
| 180 '<(_sanitizer_type)-libdbus-glib-1-2', | |
| 181 '<(_sanitizer_type)-nss', | |
| 182 '<(_sanitizer_type)-libfontconfig1', | |
| 183 '<(_sanitizer_type)-pulseaudio', | |
| 184 '<(_sanitizer_type)-libasound2', | |
| 185 '<(_sanitizer_type)-pango1.0', | |
| 186 '<(_sanitizer_type)-libcap2', | |
| 187 '<(_sanitizer_type)-udev', | |
| 188 '<(_sanitizer_type)-libgnome-keyring0', | |
| 189 '<(_sanitizer_type)-libgtk2.0-0', | |
| 190 '<(_sanitizer_type)-libgdk-pixbuf2.0-0', | |
| 191 '<(_sanitizer_type)-libpci3', | |
| 192 '<(_sanitizer_type)-libdbusmenu-glib4', | |
| 193 '<(_sanitizer_type)-libgconf-2-4', | |
| 194 '<(_sanitizer_type)-libappindicator1', | |
| 195 '<(_sanitizer_type)-libdbusmenu', | |
| 196 '<(_sanitizer_type)-atk1.0', | |
| 197 '<(_sanitizer_type)-libunity9', | |
| 198 '<(_sanitizer_type)-dee', | |
| 199 '<(_sanitizer_type)-libpixman-1-0', | |
| 200 '<(_sanitizer_type)-brltty', | |
| 201 '<(_sanitizer_type)-libva1', | |
| 202 '<(_sanitizer_type)-libcredentialkit_pkcs11-stub', | |
| 203 ], | |
| 204 'conditions': [ | |
| 205 ['"<(_ubuntu_release)"=="precise"', { | |
| 206 'dependencies': [ | |
| 207 '<(_sanitizer_type)-libtasn1-3', | |
| 208 ], | |
| 209 }, { | |
| 210 'dependencies': [ | |
| 211 # Trusty and above. | |
| 212 '<(_sanitizer_type)-libtasn1-6', | |
| 213 '<(_sanitizer_type)-harfbuzz', | |
| 214 '<(_sanitizer_type)-libsecret', | |
| 215 ], | |
| 216 }], | |
| 217 ['msan==1', { | |
| 218 'dependencies': [ | |
| 219 '<(_sanitizer_type)-libcups2', | |
| 220 ], | |
| 221 }], | |
| 222 ['tsan==1', { | |
| 223 'dependencies!': [ | |
| 224 '<(_sanitizer_type)-libpng12-0', | |
| 225 ], | |
| 226 }], | |
| 227 ], | |
| 228 'direct_dependent_settings': { | |
| 229 'target_conditions': [ | |
| 230 ['_toolset=="target"', { | |
| 231 'ldflags': [ | |
| 232 # Add a relative RPATH entry to Chromium binaries. This puts | |
| 233 # instrumented DSOs before system-installed versions in library | |
| 234 # search path. | |
| 235 '-Wl,-R,\$$ORIGIN/instrumented_libraries/<(_sanitizer_type)/<(_lib
dir)/', | |
| 236 '-Wl,-z,origin', | |
| 237 ], | |
| 238 }], | |
| 239 ], | |
| 240 }, | |
| 241 }, | |
| 242 { | |
| 243 'package_name': 'freetype', | |
| 244 'dependencies=': [], | |
| 245 'extra_configure_flags': ['--disable-static'], | |
| 246 'pre_build': 'scripts/pre-build/freetype.sh', | |
| 247 'includes': ['standard_instrumented_package_target.gypi'], | |
| 248 }, | |
| 249 { | |
| 250 'package_name': 'libcairo2', | |
| 251 'dependencies=': [], | |
| 252 'extra_configure_flags': [ | |
| 253 '--disable-gtk-doc', | |
| 254 '--disable-static', | |
| 255 ], | |
| 256 'includes': ['standard_instrumented_package_target.gypi'], | |
| 257 }, | |
| 258 { | |
| 259 'package_name': 'libdbus-1-3', | |
| 260 'dependencies=': [], | |
| 261 'extra_configure_flags': [ | |
| 262 '--disable-static', | |
| 263 # From debian/rules. | |
| 264 '--disable-libaudit', | |
| 265 '--enable-apparmor', | |
| 266 '--enable-systemd', | |
| 267 '--libexecdir=/lib/dbus-1.0', | |
| 268 '--with-systemdsystemunitdir=/lib/systemd/system', | |
| 269 '--disable-tests', | |
| 270 '--exec-prefix=/', | |
| 271 # From dh_auto_configure. | |
| 272 '--prefix=/usr', | |
| 273 '--localstatedir=/var', | |
| 274 ], | |
| 275 'includes': ['standard_instrumented_package_target.gypi'], | |
| 276 }, | |
| 277 { | |
| 278 'package_name': 'libdbus-glib-1-2', | |
| 279 'dependencies=': [], | |
| 280 'extra_configure_flags': [ | |
| 281 # Use system dbus-binding-tool. The just-built one is instrumented but | |
| 282 # doesn't have the correct RPATH, and will crash. | |
| 283 '--with-dbus-binding-tool=dbus-binding-tool', | |
| 284 '--disable-static', | |
| 285 ], | |
| 286 'includes': ['standard_instrumented_package_target.gypi'], | |
| 287 }, | |
| 288 { | |
| 289 'package_name': 'libexpat1', | |
| 290 'dependencies=': [], | |
| 291 'extra_configure_flags': ['--disable-static'], | |
| 292 'includes': ['standard_instrumented_package_target.gypi'], | |
| 293 }, | |
| 294 { | |
| 295 'package_name': 'libffi6', | |
| 296 'dependencies=': [], | |
| 297 'extra_configure_flags': ['--disable-static'], | |
| 298 'includes': ['standard_instrumented_package_target.gypi'], | |
| 299 }, | |
| 300 { | |
| 301 'package_name': 'libfontconfig1', | |
| 302 'dependencies=': [], | |
| 303 'extra_configure_flags': [ | |
| 304 '--disable-docs', | |
| 305 '--sysconfdir=/etc/', | |
| 306 '--disable-static', | |
| 307 # From debian/rules. | |
| 308 '--with-add-fonts=/usr/X11R6/lib/X11/fonts,/usr/local/share/fonts', | |
| 309 ], | |
| 310 'conditions': [ | |
| 311 ['"<(_ubuntu_release)"=="precise"', { | |
| 312 'patch': 'patches/libfontconfig.precise.diff', | |
| 313 }, { | |
| 314 'patch': 'patches/libfontconfig.trusty.diff', | |
| 315 }], | |
| 316 ], | |
| 317 'includes': ['standard_instrumented_package_target.gypi'], | |
| 318 }, | |
| 319 { | |
| 320 'package_name': 'libgcrypt11', | |
| 321 'dependencies=': [], | |
| 322 'package_ldflags': ['-Wl,-z,muldefs'], | |
| 323 'extra_configure_flags': [ | |
| 324 # From debian/rules. | |
| 325 '--enable-noexecstack', | |
| 326 '--enable-ld-version-script', | |
| 327 '--disable-static', | |
| 328 # http://crbug.com/344505 | |
| 329 '--disable-asm' | |
| 330 ], | |
| 331 'includes': ['standard_instrumented_package_target.gypi'], | |
| 332 }, | |
| 333 { | |
| 334 'package_name': 'libglib2.0-0', | |
| 335 'dependencies=': [], | |
| 336 'extra_configure_flags': [ | |
| 337 '--disable-gtk-doc', | |
| 338 '--disable-gtk-doc-html', | |
| 339 '--disable-gtk-doc-pdf', | |
| 340 '--disable-static', | |
| 341 ], | |
| 342 'asan_blacklist': 'blacklists/asan/libglib2.0-0.txt', | |
| 343 'msan_blacklist': 'blacklists/msan/libglib2.0-0.txt', | |
| 344 'pre_build': 'scripts/pre-build/autogen.sh', | |
| 345 'includes': ['standard_instrumented_package_target.gypi'], | |
| 346 }, | |
| 347 { | |
| 348 'package_name': 'libgpg-error0', | |
| 349 'dependencies=': [], | |
| 350 'extra_configure_flags': ['--disable-static'], | |
| 351 'includes': ['standard_instrumented_package_target.gypi'], | |
| 352 }, | |
| 353 { | |
| 354 'package_name': 'libnspr4', | |
| 355 'dependencies=': [], | |
| 356 'extra_configure_flags': [ | |
| 357 '--enable-64bit', | |
| 358 '--disable-static', | |
| 359 # TSan reports data races on debug variables. | |
| 360 '--disable-debug', | |
| 361 ], | |
| 362 'pre_build': 'scripts/pre-build/libnspr4.sh', | |
| 363 'includes': ['standard_instrumented_package_target.gypi'], | |
| 364 }, | |
| 365 { | |
| 366 'package_name': 'libp11-kit0', | |
| 367 'dependencies=': [], | |
| 368 'extra_configure_flags': ['--disable-static'], | |
| 369 # Required on Trusty due to autoconf version mismatch. | |
| 370 'pre_build': 'scripts/pre-build/autoreconf.sh', | |
| 371 'includes': ['standard_instrumented_package_target.gypi'], | |
| 372 }, | |
| 373 { | |
| 374 'package_name': 'libpcre3', | |
| 375 'dependencies=': [], | |
| 376 'extra_configure_flags': [ | |
| 377 '--enable-utf8', | |
| 378 '--enable-unicode-properties', | |
| 379 '--disable-static', | |
| 380 ], | |
| 381 'includes': ['standard_instrumented_package_target.gypi'], | |
| 382 }, | |
| 383 { | |
| 384 'package_name': 'libpixman-1-0', | |
| 385 'dependencies=': [], | |
| 386 'extra_configure_flags': [ | |
| 387 '--disable-static', | |
| 388 # From debian/rules. | |
| 389 '--disable-gtk', | |
| 390 '--disable-silent-rules', | |
| 391 # Avoid a clang issue. http://crbug.com/449183 | |
| 392 '--disable-mmx', | |
| 393 ], | |
| 394 'patch': 'patches/libpixman-1-0.diff', | |
| 395 'includes': ['standard_instrumented_package_target.gypi'], | |
| 396 }, | |
| 397 { | |
| 398 'package_name': 'libpng12-0', | |
| 399 'dependencies=': [], | |
| 400 'extra_configure_flags': ['--disable-static'], | |
| 401 'includes': ['standard_instrumented_package_target.gypi'], | |
| 402 }, | |
| 403 { | |
| 404 'package_name': 'libx11-6', | |
| 405 'dependencies=': [], | |
| 406 'extra_configure_flags': [ | |
| 407 '--disable-specs', | |
| 408 '--disable-static', | |
| 409 ], | |
| 410 'msan_blacklist': 'blacklists/msan/libx11-6.txt', | |
| 411 # Required on Trusty due to autoconf version mismatch. | |
| 412 'pre_build': 'scripts/pre-build/autoreconf.sh', | |
| 413 'includes': ['standard_instrumented_package_target.gypi'], | |
| 414 }, | |
| 415 { | |
| 416 'package_name': 'libxau6', | |
| 417 'dependencies=': [], | |
| 418 'extra_configure_flags': ['--disable-static'], | |
| 419 'includes': ['standard_instrumented_package_target.gypi'], | |
| 420 }, | |
| 421 { | |
| 422 'package_name': 'libxcb1', | |
| 423 'dependencies=': [], | |
| 424 'extra_configure_flags': [ | |
| 425 '--disable-build-docs', | |
| 426 '--disable-static', | |
| 427 ], | |
| 428 'conditions': [ | |
| 429 ['"<(_ubuntu_release)"=="precise"', { | |
| 430 # Backport fix for https://bugs.freedesktop.org/show_bug.cgi?id=54671 | |
| 431 'patch': 'patches/libxcb1.precise.diff', | |
| 432 }], | |
| 433 ], | |
| 434 # Required on Trusty due to autoconf version mismatch. | |
| 435 'pre_build': 'scripts/pre-build/autoreconf.sh', | |
| 436 'includes': ['standard_instrumented_package_target.gypi'], | |
| 437 }, | |
| 438 { | |
| 439 'package_name': 'libxcomposite1', | |
| 440 'dependencies=': [], | |
| 441 'extra_configure_flags': ['--disable-static'], | |
| 442 'includes': ['standard_instrumented_package_target.gypi'], | |
| 443 }, | |
| 444 { | |
| 445 'package_name': 'libxcursor1', | |
| 446 'dependencies=': [], | |
| 447 'extra_configure_flags': ['--disable-static'], | |
| 448 'includes': ['standard_instrumented_package_target.gypi'], | |
| 449 }, | |
| 450 { | |
| 451 'package_name': 'libxdamage1', | |
| 452 'dependencies=': [], | |
| 453 'extra_configure_flags': ['--disable-static'], | |
| 454 'includes': ['standard_instrumented_package_target.gypi'], | |
| 455 }, | |
| 456 { | |
| 457 'package_name': 'libxdmcp6', | |
| 458 'dependencies=': [], | |
| 459 'extra_configure_flags': [ | |
| 460 '--disable-docs', | |
| 461 '--disable-static', | |
| 462 ], | |
| 463 'includes': ['standard_instrumented_package_target.gypi'], | |
| 464 }, | |
| 465 { | |
| 466 'package_name': 'libxext6', | |
| 467 'dependencies=': [], | |
| 468 'extra_configure_flags': [ | |
| 469 '--disable-specs', | |
| 470 '--disable-static', | |
| 471 ], | |
| 472 'includes': ['standard_instrumented_package_target.gypi'], | |
| 473 }, | |
| 474 { | |
| 475 'package_name': 'libxfixes3', | |
| 476 'dependencies=': [], | |
| 477 'extra_configure_flags': ['--disable-static'], | |
| 478 'includes': ['standard_instrumented_package_target.gypi'], | |
| 479 }, | |
| 480 { | |
| 481 'package_name': 'libxi6', | |
| 482 'dependencies=': [], | |
| 483 'extra_configure_flags': [ | |
| 484 '--disable-specs', | |
| 485 '--disable-docs', | |
| 486 '--disable-static', | |
| 487 ], | |
| 488 'includes': ['standard_instrumented_package_target.gypi'], | |
| 489 }, | |
| 490 { | |
| 491 'package_name': 'libxinerama1', | |
| 492 'dependencies=': [], | |
| 493 'extra_configure_flags': ['--disable-static'], | |
| 494 'includes': ['standard_instrumented_package_target.gypi'], | |
| 495 }, | |
| 496 { | |
| 497 'package_name': 'libxrandr2', | |
| 498 'dependencies=': [], | |
| 499 'extra_configure_flags': ['--disable-static'], | |
| 500 'includes': ['standard_instrumented_package_target.gypi'], | |
| 501 }, | |
| 502 { | |
| 503 'package_name': 'libxrender1', | |
| 504 'dependencies=': [], | |
| 505 'extra_configure_flags': ['--disable-static'], | |
| 506 'includes': ['standard_instrumented_package_target.gypi'], | |
| 507 }, | |
| 508 { | |
| 509 'package_name': 'libxss1', | |
| 510 'dependencies=': [], | |
| 511 'extra_configure_flags': ['--disable-static'], | |
| 512 'includes': ['standard_instrumented_package_target.gypi'], | |
| 513 }, | |
| 514 { | |
| 515 'package_name': 'libxtst6', | |
| 516 'dependencies=': [], | |
| 517 'extra_configure_flags': [ | |
| 518 '--disable-specs', | |
| 519 '--disable-static', | |
| 520 ], | |
| 521 'includes': ['standard_instrumented_package_target.gypi'], | |
| 522 }, | |
| 523 { | |
| 524 'package_name': 'zlib1g', | |
| 525 'dependencies=': [], | |
| 526 # --disable-static is not supported | |
| 527 'patch': 'patches/zlib1g.diff', | |
| 528 'includes': ['standard_instrumented_package_target.gypi'], | |
| 529 }, | |
| 530 { | |
| 531 'package_name': 'nss', | |
| 532 'dependencies=': [ | |
| 533 # TODO(eugenis): get rid of this dependency | |
| 534 '<(_sanitizer_type)-libnspr4', | |
| 535 ], | |
| 536 'patch': 'patches/nss.diff', | |
| 537 'build_method': 'custom_nss', | |
| 538 'includes': ['standard_instrumented_package_target.gypi'], | |
| 539 }, | |
| 540 { | |
| 541 'package_name': 'pulseaudio', | |
| 542 'dependencies=': [], | |
| 543 'conditions': [ | |
| 544 ['"<(_ubuntu_release)"=="precise"', { | |
| 545 'patch': 'patches/pulseaudio.precise.diff', | |
| 546 'jobs': 1, | |
| 547 }, { | |
| 548 # New location of libpulsecommon. | |
| 549 'package_ldflags': [ '-Wl,-R,XORIGIN/pulseaudio/.' ], | |
| 550 }], | |
| 551 ], | |
| 552 'extra_configure_flags': [ | |
| 553 '--disable-static', | |
| 554 # From debian/rules. | |
| 555 '--enable-x11', | |
| 556 '--disable-hal-compat', | |
| 557 # Disable some ARM-related code that fails compilation. No idea why | |
| 558 # this even impacts x86-64 builds. | |
| 559 '--disable-neon-opt' | |
| 560 ], | |
| 561 'pre_build': 'scripts/pre-build/pulseaudio.sh', | |
| 562 'includes': ['standard_instrumented_package_target.gypi'], | |
| 563 }, | |
| 564 { | |
| 565 'package_name': 'libasound2', | |
| 566 'dependencies=': [], | |
| 567 'extra_configure_flags': ['--disable-static'], | |
| 568 'pre_build': 'scripts/pre-build/libasound2.sh', | |
| 569 'includes': ['standard_instrumented_package_target.gypi'], | |
| 570 }, | |
| 571 { | |
| 572 'package_name': 'libcups2', | |
| 573 'dependencies=': [], | |
| 574 'patch': 'patches/libcups2.diff', | |
| 575 'jobs': 1, | |
| 576 'extra_configure_flags': [ | |
| 577 '--disable-static', | |
| 578 # All from debian/rules. | |
| 579 '--localedir=/usr/share/cups/locale', | |
| 580 '--enable-slp', | |
| 581 '--enable-libpaper', | |
| 582 '--enable-ssl', | |
| 583 '--enable-gnutls', | |
| 584 '--disable-openssl', | |
| 585 '--enable-threads', | |
| 586 '--enable-debug', | |
| 587 '--enable-dbus', | |
| 588 '--with-dbusdir=/etc/dbus-1', | |
| 589 '--enable-gssapi', | |
| 590 '--enable-avahi', | |
| 591 '--with-pdftops=/usr/bin/gs', | |
| 592 '--disable-launchd', | |
| 593 '--with-cups-group=lp', | |
| 594 '--with-system-groups=lpadmin', | |
| 595 '--with-printcap=/var/run/cups/printcap', | |
| 596 '--with-log-file-perm=0640', | |
| 597 '--with-local_protocols="CUPS dnssd"', | |
| 598 '--with-remote_protocols="CUPS dnssd"', | |
| 599 '--enable-libusb', | |
| 600 ], | |
| 601 'pre_build': 'scripts/pre-build/libcups2.sh', | |
| 602 'includes': ['standard_instrumented_package_target.gypi'], | |
| 603 }, | |
| 604 { | |
| 605 'package_name': 'pango1.0', | |
| 606 'dependencies=': [], | |
| 607 'extra_configure_flags': [ | |
| 608 '--disable-static', | |
| 609 # Avoid https://bugs.gentoo.org/show_bug.cgi?id=425620 | |
| 610 '--enable-introspection=no', | |
| 611 # Pango is normally used with dynamically loaded modules. However, | |
| 612 # ensuring pango is able to find instrumented versions of those modules | |
| 613 # is a huge pain in the neck. Let's link them statically instead, and | |
| 614 # hope for the best. | |
| 615 '--with-included-modules=yes' | |
| 616 ], | |
| 617 'includes': ['standard_instrumented_package_target.gypi'], | |
| 618 }, | |
| 619 { | |
| 620 'package_name': 'libcap2', | |
| 621 'dependencies=': [], | |
| 622 'extra_configure_flags': ['--disable-static'], | |
| 623 'build_method': 'custom_libcap', | |
| 624 'includes': ['standard_instrumented_package_target.gypi'], | |
| 625 }, | |
| 626 { | |
| 627 'package_name': 'udev', | |
| 628 'dependencies=': [], | |
| 629 'extra_configure_flags': [ | |
| 630 '--disable-static', | |
| 631 # Without this flag there's a linking step that doesn't honor LDFLAGS | |
| 632 # and fails. | |
| 633 # TODO(eugenis): find a better fix. | |
| 634 '--disable-gudev' | |
| 635 ], | |
| 636 'pre_build': 'scripts/pre-build/udev.sh', | |
| 637 'includes': ['standard_instrumented_package_target.gypi'], | |
| 638 }, | |
| 639 { | |
| 640 'package_name': 'libtasn1-3', | |
| 641 'dependencies=': [], | |
| 642 'extra_configure_flags': [ | |
| 643 '--disable-static', | |
| 644 # From debian/rules. | |
| 645 '--enable-ld-version-script', | |
| 646 ], | |
| 647 'includes': ['standard_instrumented_package_target.gypi'], | |
| 648 }, | |
| 649 { | |
| 650 'package_name': 'libtasn1-6', | |
| 651 'dependencies=': [], | |
| 652 'extra_configure_flags': [ | |
| 653 '--disable-static', | |
| 654 # From debian/rules. | |
| 655 '--enable-ld-version-script', | |
| 656 ], | |
| 657 'includes': ['standard_instrumented_package_target.gypi'], | |
| 658 }, | |
| 659 { | |
| 660 'package_name': 'libgnome-keyring0', | |
| 661 'extra_configure_flags': [ | |
| 662 '--disable-static', | |
| 663 '--enable-tests=no', | |
| 664 # Make the build less problematic. | |
| 665 '--disable-introspection', | |
| 666 ], | |
| 667 'package_ldflags': ['-Wl,--as-needed'], | |
| 668 'dependencies=': [], | |
| 669 'includes': ['standard_instrumented_package_target.gypi'], | |
| 670 }, | |
| 671 { | |
| 672 'package_name': 'libgtk2.0-0', | |
| 673 'package_cflags': ['-Wno-return-type'], | |
| 674 'extra_configure_flags': [ | |
| 675 '--disable-static', | |
| 676 # From debian/rules. | |
| 677 '--prefix=/usr', | |
| 678 '--sysconfdir=/etc', | |
| 679 '--enable-test-print-backend', | |
| 680 '--enable-introspection=no', | |
| 681 '--with-xinput=yes', | |
| 682 ], | |
| 683 'dependencies=': [], | |
| 684 'conditions': [ | |
| 685 ['"<(_ubuntu_release)"=="precise"', { | |
| 686 'patch': 'patches/libgtk2.0-0.precise.diff', | |
| 687 }, { | |
| 688 'patch': 'patches/libgtk2.0-0.trusty.diff', | |
| 689 }], | |
| 690 ], | |
| 691 'pre_build': 'scripts/pre-build/libgtk2.0-0.sh', | |
| 692 'includes': ['standard_instrumented_package_target.gypi'], | |
| 693 }, | |
| 694 { | |
| 695 'package_name': 'libgdk-pixbuf2.0-0', | |
| 696 'extra_configure_flags': [ | |
| 697 '--disable-static', | |
| 698 # From debian/rules. | |
| 699 '--with-libjasper', | |
| 700 '--with-x11', | |
| 701 # Make the build less problematic. | |
| 702 '--disable-introspection', | |
| 703 # Do not use loadable modules. Same as with Pango, there's no easy way | |
| 704 # to make gdk-pixbuf pick instrumented versions over system-installed | |
| 705 # ones. | |
| 706 '--disable-modules', | |
| 707 ], | |
| 708 'dependencies=': [], | |
| 709 'pre_build': 'scripts/pre-build/libgdk-pixbuf2.0-0.sh', | |
| 710 'includes': ['standard_instrumented_package_target.gypi'], | |
| 711 }, | |
| 712 { | |
| 713 'package_name': 'libpci3', | |
| 714 'dependencies=': [], | |
| 715 'extra_configure_flags': ['--disable-static'], | |
| 716 'build_method': 'custom_libpci3', | |
| 717 'jobs': 1, | |
| 718 'includes': ['standard_instrumented_package_target.gypi'], | |
| 719 }, | |
| 720 { | |
| 721 'package_name': 'libdbusmenu-glib4', | |
| 722 'extra_configure_flags': [ | |
| 723 '--disable-static', | |
| 724 # From debian/rules. | |
| 725 '--disable-scrollkeeper', | |
| 726 '--enable-gtk-doc', | |
| 727 # --enable-introspection introduces a build step that attempts to run | |
| 728 # a just-built binary and crashes. Vala requires introspection. | |
| 729 # TODO(eugenis): find a better fix. | |
| 730 '--disable-introspection', | |
| 731 '--disable-vala', | |
| 732 ], | |
| 733 'dependencies=': [], | |
| 734 'pre_build': 'scripts/pre-build/autogen.sh', | |
| 735 'includes': ['standard_instrumented_package_target.gypi'], | |
| 736 }, | |
| 737 { | |
| 738 'package_name': 'libgconf-2-4', | |
| 739 'extra_configure_flags': [ | |
| 740 '--disable-static', | |
| 741 # From debian/rules. (Even though --with-gtk=3.0 doesn't make sense.) | |
| 742 '--with-gtk=3.0', | |
| 743 '--disable-orbit', | |
| 744 # See above. | |
| 745 '--disable-introspection', | |
| 746 ], | |
| 747 'dependencies=': [], | |
| 748 'includes': ['standard_instrumented_package_target.gypi'], | |
| 749 }, | |
| 750 { | |
| 751 'package_name': 'libappindicator1', | |
| 752 'extra_configure_flags': [ | |
| 753 '--disable-static', | |
| 754 # See above. | |
| 755 '--disable-introspection', | |
| 756 ], | |
| 757 'dependencies=': [], | |
| 758 'jobs': 1, | |
| 759 'pre_build': 'scripts/pre-build/autogen.sh', | |
| 760 'includes': ['standard_instrumented_package_target.gypi'], | |
| 761 }, | |
| 762 { | |
| 763 'package_name': 'libdbusmenu', | |
| 764 'extra_configure_flags': [ | |
| 765 '--disable-static', | |
| 766 # From debian/rules. | |
| 767 '--disable-scrollkeeper', | |
| 768 '--with-gtk=2', | |
| 769 # See above. | |
| 770 '--disable-introspection', | |
| 771 '--disable-vala', | |
| 772 ], | |
| 773 'dependencies=': [], | |
| 774 'pre_build': 'scripts/pre-build/autogen.sh', | |
| 775 'includes': ['standard_instrumented_package_target.gypi'], | |
| 776 }, | |
| 777 { | |
| 778 'package_name': 'atk1.0', | |
| 779 'extra_configure_flags': [ | |
| 780 '--disable-static', | |
| 781 # See above. | |
| 782 '--disable-introspection', | |
| 783 ], | |
| 784 'dependencies=': [], | |
| 785 'includes': ['standard_instrumented_package_target.gypi'], | |
| 786 }, | |
| 787 { | |
| 788 'package_name': 'libunity9', | |
| 789 'dependencies=': [], | |
| 790 'extra_configure_flags': ['--disable-static'], | |
| 791 'pre_build': 'scripts/pre-build/autogen.sh', | |
| 792 'includes': ['standard_instrumented_package_target.gypi'], | |
| 793 }, | |
| 794 { | |
| 795 'package_name': 'dee', | |
| 796 'extra_configure_flags': [ | |
| 797 '--disable-static', | |
| 798 # See above. | |
| 799 '--disable-introspection', | |
| 800 ], | |
| 801 'dependencies=': [], | |
| 802 'pre_build': 'scripts/pre-build/autogen.sh', | |
| 803 'includes': ['standard_instrumented_package_target.gypi'], | |
| 804 }, | |
| 805 { | |
| 806 'package_name': 'harfbuzz', | |
| 807 'package_cflags': ['-Wno-c++11-narrowing'], | |
| 808 'extra_configure_flags': [ | |
| 809 '--disable-static', | |
| 810 # From debian/rules. | |
| 811 '--with-graphite2=yes', | |
| 812 '--with-gobject', | |
| 813 # See above. | |
| 814 '--disable-introspection', | |
| 815 ], | |
| 816 'dependencies=': [], | |
| 817 'includes': ['standard_instrumented_package_target.gypi'], | |
| 818 }, | |
| 819 { | |
| 820 'package_name': 'brltty', | |
| 821 'extra_configure_flags': [ | |
| 822 '--disable-static', | |
| 823 # From debian/rules. | |
| 824 '--without-viavoice', | |
| 825 '--without-theta', | |
| 826 '--without-swift', | |
| 827 '--bindir=/sbin', | |
| 828 '--with-curses=ncursesw', | |
| 829 '--disable-stripping', | |
| 830 # We don't need any of those. | |
| 831 '--disable-java-bindings', | |
| 832 '--disable-lisp-bindings', | |
| 833 '--disable-ocaml-bindings', | |
| 834 '--disable-python-bindings', | |
| 835 '--disable-tcl-bindings' | |
| 836 ], | |
| 837 'dependencies=': [], | |
| 838 'includes': ['standard_instrumented_package_target.gypi'], | |
| 839 }, | |
| 840 { | |
| 841 'package_name': 'libva1', | |
| 842 'dependencies=': [], | |
| 843 'extra_configure_flags': ['--disable-static'], | |
| 844 # Backport a use-after-free fix: | |
| 845 # http://cgit.freedesktop.org/libva/diff/va/va.c?h=staging&id=d4988142a3f2
256e38c5c5cdcdfc1b4f5f3c1ea9 | |
| 846 'patch': 'patches/libva1.diff', | |
| 847 'pre_build': 'scripts/pre-build/libva1.sh', | |
| 848 'includes': ['standard_instrumented_package_target.gypi'], | |
| 849 }, | |
| 850 { | |
| 851 'package_name': 'libsecret', | |
| 852 'dependencies=': [], | |
| 853 'extra_configure_flags': [ | |
| 854 '--disable-static', | |
| 855 # See above. | |
| 856 '--disable-introspection', | |
| 857 ], | |
| 858 'pre_build': 'scripts/pre-build/autoreconf.sh', | |
| 859 'includes': ['standard_instrumented_package_target.gypi'], | |
| 860 }, | |
| 861 { | |
| 862 # Creates a stub to convince NSS to not load the system-wide uninstrumente
d library. | |
| 863 # It appears that just an empty file is enough. | |
| 864 'package_name': 'libcredentialkit_pkcs11-stub', | |
| 865 'target_name': '<(_sanitizer_type)-<(_package_name)', | |
| 866 'type': 'none', | |
| 867 'actions': [ | |
| 868 { | |
| 869 'action_name': '<(_package_name)', | |
| 870 'inputs': [], | |
| 871 'outputs': [ | |
| 872 '<(PRODUCT_DIR)/instrumented_libraries/<(_sanitizer_type)/<(_package
_name).txt', | |
| 873 ], | |
| 874 'action': [ | |
| 875 'touch', | |
| 876 '<(PRODUCT_DIR)/instrumented_libraries/<(_sanitizer_type)/lib/libcre
dentialkit_pkcs11.so.0', | |
| 877 '<(PRODUCT_DIR)/instrumented_libraries/<(_sanitizer_type)/<(_package
_name).txt', | |
| 878 ], | |
| 879 }, | |
| 880 ], | |
| 881 }, | |
| 882 ], | |
| 883 } | |
| OLD | NEW |