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 |