Chromium Code Reviews| Index: third_party/instrumented_libraries/BUILD.gn |
| diff --git a/third_party/instrumented_libraries/BUILD.gn b/third_party/instrumented_libraries/BUILD.gn |
| index cbaf7f57b024fea6cdb35656b549057f8bf88a89..d25e181ff6f1fcedfa22cf79702468033ae1b261 100644 |
| --- a/third_party/instrumented_libraries/BUILD.gn |
| +++ b/third_party/instrumented_libraries/BUILD.gn |
| @@ -3,6 +3,15 @@ |
| # found in the LICENSE file. |
| import("//build/config/sanitizers/sanitizers.gni") |
| +import("//build/toolchain/goma.gni") |
| + |
| +declare_args() { |
| + # The default number of jobs to use when building instrumented libraries. |
| + instrumented_libraries_jobs = 8 |
| + |
| + # The platform on which the instrumented libraries are being built. |
| + instrumented_libraries_platform = "trusty" |
| +} |
| group("deps") { |
| if (use_prebuilt_instrumented_libraries) { |
| @@ -16,6 +25,19 @@ group("deps") { |
| ":prebuilt", |
| ] |
| } |
| + if (use_locally_built_instrumented_libraries) { |
| + deps = [ |
| + ":locally_built", |
| + ] |
| + } |
| +} |
| + |
| +if (is_msan) { |
| + sanitizer_type = "msan" |
| +} else if (is_asan) { |
| + sanitizer_type = "asan" |
| +} else if (is_tsan) { |
| + sanitizer_type = "tsan" |
| } |
| if (prebuilt_instrumented_libraries_available) { |
| @@ -31,7 +53,6 @@ if (prebuilt_instrumented_libraries_available) { |
| } |
| if (is_msan) { |
| - sanitizer_type = "msan" |
| if (msan_track_origins == 0) { |
| archive_prefix = "msan-no-origins" |
| } else if (msan_track_origins == 2) { |
| @@ -49,8 +70,8 @@ if (prebuilt_instrumented_libraries_available) { |
| args = [ |
| archive_prefix, |
| rebase_path("binaries"), |
| - rebase_path(root_build_dir + "/instrumented_libraries_prebuilt"), |
| - rebase_path(target_out_dir, root_build_dir), |
| + rebase_path(root_out_dir + "/instrumented_libraries_prebuilt"), |
| + rebase_path(target_out_dir, root_out_dir), |
| ] |
| outputs = [ |
| "$target_out_dir/$archive_prefix.txt", |
| @@ -69,4 +90,676 @@ if (prebuilt_instrumented_libraries_available) { |
| ] |
| } |
| } |
| -# TODO(GYP): Support building instrumented libraries from source. |
| + |
| +if (use_locally_built_instrumented_libraries) { |
| + if (instrumented_libraries_platform == "precise") { |
| + is_precise = true |
| + is_trusty = false |
| + } else if (instrumented_libraries_platform == "trusty") { |
| + is_precise = false |
| + is_trusty = true |
| + } else { |
| + assert(false, "Unsupported platform " + instrumented_libraries_platform) |
| + } |
| + group("locally_built") { |
| + visibility = [ ":deps" ] |
| + deps = [ |
| + ":atk1.0", |
| + ":brltty", |
| + ":dee", |
| + ":freetype", |
| + ":libappindicator1", |
| + ":libasound2", |
| + ":libcairo2", |
| + ":libcap2", |
| + ":libcredentialkit_pkcs11", |
| + ":libdbus-1-3", |
| + ":libdbus-glib-1-2", |
| + ":libdbusmenu", |
| + ":libdbusmenu-glib4", |
| + ":libexpat1", |
| + ":libffi6", |
| + ":libfontconfig1", |
| + ":libgconf-2-4", |
| + ":libgcrypt11", |
| + ":libgdk-pixbuf2.0-0", |
| + ":libglib2.0-0", |
| + ":libgnome-keyring0", |
| + ":libgpg-error0", |
| + ":libgtk2.0-0", |
| + ":libnspr4", |
| + ":libp11-kit0", |
| + ":libpci3", |
| + ":libpcre3", |
| + ":libpixman-1-0", |
| + ":libunity9", |
| + ":libva1", |
| + ":libx11-6", |
| + ":libxau6", |
| + ":libxcb1", |
| + ":libxcomposite1", |
| + ":libxcursor1", |
| + ":libxdamage1", |
| + ":libxdmcp6", |
| + ":libxext6", |
| + ":libxfixes3", |
| + ":libxi6", |
| + ":libxinerama1", |
| + ":libxrandr2", |
| + ":libxrender1", |
| + ":libxss1", |
| + ":libxtst6", |
| + ":nss", |
| + ":pango1.0", |
| + ":pulseaudio", |
| + ":udev", |
| + ":zlib1g", |
| + ] |
| + if (is_precise) { |
| + deps += [ ":libtasn1-3" ] |
| + } |
| + if (is_trusty) { |
| + deps += [ |
| + ":harfbuzz", |
| + ":libsecret", |
| + ":libtasn1-6", |
| + ] |
| + } |
| + if (is_msan) { |
| + deps += [ ":libcups2" ] |
| + } |
| + if (!is_tsan) { |
| + deps += [ ":libpng12-0" ] |
| + } |
| + data = [ |
| + "${root_out_dir}/instrumented_libraries/${sanitizer_type}/lib", |
| + ] |
| + } |
| + |
| + config("locally_built_ldflags") { |
| + ldflags = [ |
| + # Add a relative RPATH entry to Chromium binaries. This puts instrumented |
| + # DSOs before system-installed versions in library search path. |
| + "-Wl,-R,\$ORIGIN/instrumented_libraries/${sanitizer_type}/lib", |
| + "-Wl,-z,origin", |
| + ] |
| + } |
| + |
| + template("instrumented_library") { |
| + action(target_name) { |
| + script = "scripts/download_build_install.py" |
| + build_method = "destdir" |
| + if (defined(invoker.build_method)) { |
| + build_method = invoker.build_method |
| + } |
| + |
| + cc = rebase_path("//third_party/llvm-build/Release+Asserts/bin/clang") |
| + cxx = rebase_path("//third_party/llvm-build/Release+Asserts/bin/clang++") |
| + if (use_goma) { |
| + cc = "${goma_dir}/gomacc ${cc}" |
| + cxx = "${goma_dir}/gomacc ${cxx}" |
| + } |
| + jobs = instrumented_libraries_jobs |
| + if (defined(invoker.jobs)) { |
| + jobs = invoker.jobs |
| + } |
| + package_cflags = [ |
| + "-O2", |
| + "-gline-tables-only", |
| + "-fPIC", |
| + "-w", |
| + "-U_FORITFY_SOURCE", |
| + "-fno-omit-frame-pointer", |
| + ] |
| + package_ldflags = [] |
| + if (is_asan) { |
| + package_cflags += [ "-fsanitize=address" ] |
| + package_ldflags = [ "-fsanitize=address" ] |
| + } else if (is_msan) { |
| + package_cflags += [ |
| + "-fsanitize=memory", |
| + "-fsanitize-memory-track-origins=${msan_track_origins}", |
| + ] |
| + package_ldflags = [ "-fsanitize=memory" ] |
| + } else if (is_tsan) { |
| + package_cflags += [ "-fsanitize=thread" ] |
| + package_ldflags = [ "-fsanitize=thread" ] |
| + } |
| + if (defined(invoker.package_cflags)) { |
| + package_cflags += invoker.package_cflags |
| + } |
| + if (defined(invoker.package_ldflags)) { |
| + package_ldflags += invoker.package_ldflags |
| + } |
| + if (defined(invoker.deps)) { |
| + deps = invoker.deps |
| + } |
| + product_dir = rebase_path(root_out_dir) |
| + intermediate_dir = rebase_path(target_gen_dir) |
| + args = [ |
| + "--build-method=${build_method}", |
| + "--cc=${cc}", |
| + "--cxx=${cxx}", |
| + "--intermediate-dir=${intermediate_dir}", |
| + "--jobs=${jobs}", |
| + "--libdir=lib", |
| + "--package=${target_name}", |
| + "--product-dir=${product_dir}", |
| + "--cflags=${package_cflags}", |
| + "--ldflags=${package_ldflags}", |
| + "--sanitizer=${sanitizer_type}", |
| + ] |
| + outputs = [ |
| + "${root_out_dir}/instrumented_libraries/${sanitizer_type}/${target_name}.txt", |
| + ] |
| + inputs = [] |
| + if (defined(invoker.pre_build)) { |
| + inputs += [ invoker.pre_build ] |
| + args += [ "--pre-build=${invoker.pre_build}" ] |
| + } |
| + if (defined(invoker.patch)) { |
| + inputs += [ invoker.patch ] |
| + args += [ "--patch=${invoker.patch}" ] |
| + } |
| + if (defined(invoker.asan_blacklist)) { |
| + if (is_asan) { |
| + inputs += [ invoker.asan_blacklist ] |
| + args += [ "--sanitizer-blacklist=${invoker.asan_blacklist}" ] |
| + } else { |
| + assert(invoker.asan_blacklist != "", "") |
| + } |
| + } |
| + if (defined(invoker.msan_blacklist)) { |
| + if (is_msan) { |
| + inputs += [ invoker.msan_blacklist ] |
| + args += [ "--sanitizer-blacklist=${invoker.msan_blacklist}" ] |
| + } else { |
| + assert(invoker.msan_blacklist != "", "") |
| + } |
| + } |
| + |
| + if (defined(invoker.extra_configure_flags)) { |
| + args += [ "--extra-configure-flags=${invoker.extra_configure_flags}" ] |
| + } |
| + } |
| + } |
| + |
| + instrumented_library("freetype") { |
| + pre_build = "scripts/pre-build/freetype.sh" |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libcairo2") { |
|
Dirk Pranke
2016/07/15 02:58:32
There should probably be blank lines in between th
Sam McNally
2016/07/20 01:46:58
Done.
|
| + extra_configure_flags = [ |
| + "--disable-gtk-doc", |
| + "--disable-static", |
| + ] |
| + } |
| + instrumented_library("libdbus-1-3") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--disable-libaudit", |
| + "--enable-apparmor", |
| + "--enable-systemd", |
| + "--libexecdir=/lib/dbus-1.0", |
| + "--with-systemdsystemunitdir=/lib/systemd/system", |
| + "--disable-tests", |
| + "--exec-prefix=/", |
| + |
| + # From dh_auto_configure. |
| + "--prefix=/usr", |
| + "--localstatedir=/var", |
| + ] |
| + } |
| + instrumented_library("libdbus-glib-1-2") { |
| + extra_configure_flags = [ |
| + # Use system dbus-binding-tool. The just-built one is instrumented but |
| + # doesn't have the correct RPATH, and will crash. |
| + "--with-dbus-binding-tool=dbus-binding-tool", |
| + "--disable-static", |
| + ] |
| + } |
| + instrumented_library("libexpat1") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libffi6") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libfontconfig1") { |
| + extra_configure_flags = [ |
| + "--disable-docs", |
| + "--sysconfdir=/etc/", |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--with-add-fonts=/usr/X11R6/lib/X11/fonts,/usr/local/share/fonts", |
| + ] |
| + patch = "patches/libfontconfig.${instrumented_libraries_platform}.diff" |
| + } |
| + instrumented_library("libgcrypt11") { |
| + package_ldflags = [ "-Wl,-z,muldefs" ] |
| + extra_configure_flags = [ |
| + # From debian/rules. |
| + "--enable-noexecstack", |
| + "--enable-ld-version-script", |
| + "--disable-static", |
| + |
| + # http://crbug.com/344505 |
| + "--disable-asm", |
| + ] |
| + } |
| + instrumented_library("libglib2.0-0") { |
| + extra_configure_flags = [ |
| + "--disable-gtk-doc", |
| + "--disable-gtk-doc-html", |
| + "--disable-gtk-doc-pdf", |
| + "--disable-static", |
| + ] |
| + asan_blacklist = "blacklists/asan/libglib2.0-0.txt" |
| + msan_blacklist = "blacklists/msan/libglib2.0-0.txt" |
| + pre_build = "scripts/pre-build/autogen.sh" |
| + } |
| + instrumented_library("libgpg-error0") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libnspr4") { |
| + extra_configure_flags = [ |
| + "--enable-64bit", |
| + "--disable-static", |
| + |
| + # TSan reports data races on debug variables. |
| + "--disable-debug", |
| + ] |
| + pre_build = "scripts/pre-build/libnspr4.sh" |
| + } |
| + instrumented_library("libp11-kit0") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + |
| + # Required on Trusty due to autoconf version mismatch. |
| + pre_build = "scripts/pre-build/autoreconf.sh" |
| + } |
| + instrumented_library("libpcre3") { |
| + extra_configure_flags = [ |
| + "--enable-utf8", |
| + "--enable-unicode-properties", |
| + "--disable-static", |
| + ] |
| + } |
| + instrumented_library("libpixman-1-0") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--disable-gtk", |
| + "--disable-silent-rules", |
| + |
| + # Avoid a clang issue. http://crbug.com/449183 |
| + "--disable-mmx", |
| + ] |
| + patch = "patches/libpixman-1-0.diff" |
| + } |
| + instrumented_library("libpng12-0") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libx11-6") { |
| + extra_configure_flags = [ |
| + "--disable-specs", |
| + "--disable-static", |
| + ] |
| + msan_blacklist = "blacklists/msan/libx11-6.txt" |
| + |
| + # Required on Trusty due to autoconf version mismatch. |
| + pre_build = "scripts/pre-build/autoreconf.sh" |
| + } |
| + instrumented_library("libxau6") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxcb1") { |
| + extra_configure_flags = [ |
| + "--disable-build-docs", |
| + "--disable-static", |
| + ] |
| + pre_build = "scripts/pre-build/autoreconf.sh" |
| + if (is_precise) { |
| + patch = "patches/libxcb1.precise.diff" |
| + } |
| + } |
| + instrumented_library("libxcomposite1") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxcursor1") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxdamage1") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxdmcp6") { |
| + extra_configure_flags = [ |
| + "--disable-docs", |
| + "--disable-static", |
| + ] |
| + } |
| + instrumented_library("libxext6") { |
| + extra_configure_flags = [ |
| + "--disable-specs", |
| + "--disable-static", |
| + ] |
| + } |
| + instrumented_library("libxfixes3") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxi6") { |
| + extra_configure_flags = [ |
| + "--disable-specs", |
| + "--disable-docs", |
| + "--disable-static", |
| + ] |
| + } |
| + instrumented_library("libxinerama1") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxrandr2") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxrender1") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxss1") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + } |
| + instrumented_library("libxtst6") { |
| + extra_configure_flags = [ |
| + "--disable-specs", |
| + "--disable-static", |
| + ] |
| + } |
| + instrumented_library("zlib1g") { |
| + # --disable-static is not supported |
| + patch = "patches/zlib1g.diff" |
| + } |
| + instrumented_library("nss") { |
| + # TODO(eugenis): get rid of this dependency |
| + deps = [ |
| + ":libnspr4", |
| + ] |
| + patch = "patches/nss.diff" |
| + build_method = "custom_nss" |
| + } |
| + instrumented_library("pulseaudio") { |
| + # New location of libpulsecommon. |
| + if (is_precise) { |
| + patch = "patches/pulseaudio.precise.diff" |
| + jobs = 1 |
| + } |
| + if (is_trusty) { |
| + package_ldflags = [ "-Wl,-R,XORIGIN/pulseaudio/." ] |
| + } |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--enable-x11", |
| + "--disable-hal-compat", |
| + |
| + # Disable some ARM-related code that fails compilation. No idea why |
| + # this even impacts x86-64 builds. |
| + "--disable-neon-opt", |
| + ] |
| + pre_build = "scripts/pre-build/pulseaudio.sh" |
| + } |
| + instrumented_library("libasound2") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + pre_build = "scripts/pre-build/libasound2.sh" |
| + } |
| + instrumented_library("libcups2") { |
| + patch = "patches/libcups2.diff" |
| + jobs = 1 |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # All from debian/rules. |
| + "--localedir=/usr/share/cups/locale", |
| + "--enable-slp", |
| + "--enable-libpaper", |
| + "--enable-ssl", |
| + "--enable-gnutls", |
| + "--disable-openssl", |
| + "--enable-threads", |
| + "--enable-debug", |
| + "--enable-dbus", |
| + "--with-dbusdir=/etc/dbus-1", |
| + "--enable-gssapi", |
| + "--enable-avahi", |
| + "--with-pdftops=/usr/bin/gs", |
| + "--disable-launchd", |
| + "--with-cups-group=lp", |
| + "--with-system-groups=lpadmin", |
| + "--with-printcap=/var/run/cups/printcap", |
| + "--with-log-file-perm=0640", |
| + "--with-local_protocols=\"CUPS dnssd\"", |
| + "--with-remote_protocols=\"CUPS dnssd\"", |
| + "--enable-libusb", |
| + ] |
| + pre_build = "scripts/pre-build/libcups2.sh" |
| + } |
| + instrumented_library("pango1.0") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # Avoid https://bugs.gentoo.org/show_bug.cgi?id=425620 |
| + "--enable-introspection=no", |
| + |
| + # Pango is normally used with dynamically loaded modules. However, |
| + # ensuring pango is able to find instrumented versions of those modules |
| + # is a huge pain in the neck. Let's link them statically instead, and |
| + # hope for the best. |
| + "--with-included-modules=yes", |
| + ] |
| + } |
| + instrumented_library("libcap2") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + build_method = "custom_libcap" |
| + } |
| + instrumented_library("udev") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # Without this flag there's a linking step that doesn't honor LDFLAGS |
| + # and fails. |
| + # TODO(eugenis): find a better fix. |
| + "--disable-gudev", |
| + ] |
| + pre_build = "scripts/pre-build/udev.sh" |
| + } |
| + instrumented_library("libtasn1-3") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--enable-ld-version-script", |
| + ] |
| + } |
| + instrumented_library("libtasn1-6") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--enable-ld-version-script", |
| + ] |
| + } |
| + instrumented_library("libgnome-keyring0") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + "--enable-tests=no", |
| + |
| + # Make the build less problematic. |
| + "--disable-introspection", |
| + ] |
| + package_ldflags = [ "-Wl,--as-needed" ] |
| + } |
| + instrumented_library("libgtk2.0-0") { |
| + package_cflags = [ "-Wno-return-type" ] |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--prefix=/usr", |
| + "--sysconfdir=/etc", |
| + "--enable-test-print-backend", |
| + "--enable-introspection=no", |
| + "--with-xinput=yes", |
| + ] |
| + patch = "patches/libgtk2.0-0.${instrumented_libraries_platform}.diff" |
| + pre_build = "scripts/pre-build/libgtk2.0-0.sh" |
| + } |
| + instrumented_library("libgdk-pixbuf2.0-0") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--with-libjasper", |
| + "--with-x11", |
| + |
| + # Make the build less problematic. |
| + "--disable-introspection", |
| + |
| + # Do not use loadable modules. Same as with Pango, there's no easy way |
| + # to make gdk-pixbuf pick instrumented versions over system-installed |
| + # ones. |
| + "--disable-modules", |
| + ] |
| + pre_build = "scripts/pre-build/libgdk-pixbuf2.0-0.sh" |
| + } |
| + instrumented_library("libpci3") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + build_method = "custom_libpci3" |
| + jobs = 1 |
| + } |
| + instrumented_library("libdbusmenu-glib4") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--disable-scrollkeeper", |
| + "--enable-gtk-doc", |
| + |
| + # --enable-introspection introduces a build step that attempts to run |
| + # a just-built binary and crashes. Vala requires introspection. |
| + # TODO(eugenis): find a better fix. |
| + "--disable-introspection", |
| + "--disable-vala", |
| + ] |
| + pre_build = "scripts/pre-build/autogen.sh" |
| + } |
| + instrumented_library("libgconf-2-4") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. (Even though --with-gtk=3.0 doesn't make sense.) |
| + "--with-gtk=3.0", |
| + "--disable-orbit", |
| + |
| + # See above. |
| + "--disable-introspection", |
| + ] |
| + } |
| + instrumented_library("libappindicator1") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # See above. |
| + "--disable-introspection", |
| + ] |
| + jobs = 1 |
| + pre_build = "scripts/pre-build/autogen.sh" |
| + } |
| + instrumented_library("libdbusmenu") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--disable-scrollkeeper", |
| + "--with-gtk=2", |
| + |
| + # See above. |
| + "--disable-introspection", |
| + "--disable-vala", |
| + ] |
| + pre_build = "scripts/pre-build/autogen.sh" |
| + } |
| + instrumented_library("atk1.0") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # See above. |
| + "--disable-introspection", |
| + ] |
| + } |
| + instrumented_library("libunity9") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + pre_build = "scripts/pre-build/autogen.sh" |
| + } |
| + instrumented_library("dee") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # See above. |
| + "--disable-introspection", |
| + ] |
| + pre_build = "scripts/pre-build/autogen.sh" |
| + } |
| + instrumented_library("harfbuzz") { |
| + package_cflags = [ "-Wno-c++11-narrowing" ] |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--with-graphite2=yes", |
| + "--with-gobject", |
| + |
| + # See above. |
| + "--disable-introspection", |
| + ] |
| + } |
| + instrumented_library("brltty") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # From debian/rules. |
| + "--without-viavoice", |
| + "--without-theta", |
| + "--without-swift", |
| + "--bindir=/sbin", |
| + "--with-curses=ncursesw", |
| + "--disable-stripping", |
| + |
| + # We don't need any of those. |
| + "--disable-java-bindings", |
| + "--disable-lisp-bindings", |
| + "--disable-ocaml-bindings", |
| + "--disable-python-bindings", |
| + "--disable-tcl-bindings", |
| + ] |
| + } |
| + instrumented_library("libva1") { |
| + extra_configure_flags = [ "--disable-static" ] |
| + |
| + # Backport a use-after-free fix: |
| + # http://cgit.freedesktop.org/libva/diff/va/va.c?h=staging&id=d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9 |
| + patch = "patches/libva1.diff" |
| + pre_build = "scripts/pre-build/libva1.sh" |
| + } |
| + instrumented_library("libsecret") { |
| + extra_configure_flags = [ |
| + "--disable-static", |
| + |
| + # See above. |
| + "--disable-introspection", |
| + ] |
| + pre_build = "scripts/pre-build/autoreconf.sh" |
| + } |
| + instrumented_library("libcredentialkit_pkcs11") { |
| + build_method = "stub" |
| + } |
| +} |