| # Copyright 2021 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/python.gni") |
| import("//build/config/sanitizers/sanitizers.gni") |
| import("//build/toolchain/goma.gni") |
| |
| group("locally_built") { |
| visibility = [ "//third_party/instrumented_libraries:deps" ] |
| deps = [ |
| ":atk1.0", |
| ":brltty", |
| ":dee", |
| ":freetype", |
| ":guest-oslogin", |
| ":harfbuzz", |
| ":libappindicator3-1", |
| ":libasound2", |
| ":libatk-bridge2.0-0", |
| ":libatspi2.0-0", |
| ":libavahi-client3", |
| ":libcairo2", |
| ":libcap2", |
| ":libcredentialkit_pkcs11", |
| ":libcups2", |
| ":libcurl3-gnutls", |
| ":libdbus-1-3", |
| ":libdbus-glib-1-2", |
| ":libdbusmenu", |
| ":libdbusmenu-glib4", |
| ":libexpat1", |
| ":libffi7", |
| ":libfontconfig1", |
| ":libgcrypt20", |
| ":libgdk-pixbuf2.0-0", |
| ":libglib2.0-0", |
| ":libgnutls30", |
| ":libgpg-error0", |
| ":libgtk-3-0", |
| ":libidn11", |
| ":libido3-0.1-0", |
| ":libindicator3-7", |
| ":libjpeg-turbo8", |
| ":libldap-2.4-2", |
| ":libnettle7", |
| ":libnspr4", |
| ":libp11-kit0", |
| ":libpci3", |
| ":libpcre3", |
| ":libpixman-1-0", |
| ":libpng16-16", |
| ":librtmp1", |
| ":libsasl2-2", |
| ":libsecret", |
| ":libssl1.1", |
| ":libtasn1-6", |
| ":libudev1", |
| ":libunity9", |
| ":libva2", |
| ":libwayland-client0", |
| ":libx11-6", |
| ":libxau6", |
| ":libxcb1", |
| ":libxcomposite1", |
| ":libxcursor1", |
| ":libxdamage1", |
| ":libxdmcp6", |
| ":libxext6", |
| ":libxfixes3", |
| ":libxi6", |
| ":libxinerama1", |
| ":libxkbcommon0", |
| ":libxrandr2", |
| ":libxrender1", |
| ":libxss1", |
| ":libxtst6", |
| ":nss", |
| ":opensc-pkcs11", |
| ":pango1.0", |
| ":pulseaudio", |
| ":zlib1g", |
| ] |
| data = [ "${root_out_dir}/instrumented_libraries/lib" ] |
| } |
| |
| template("instrumented_library") { |
| action(target_name) { |
| # Ignore "assignment had no effect" errors when there are no variables |
| # defined inside of the instrumented_library. |
| not_needed([ "invoker" ]) |
| |
| 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}" |
| } |
| package_cflags = [ |
| "-O2", |
| "-gline-tables-only", |
| "-fPIC", |
| "-w", |
| "-U_FORTIFY_SOURCE", |
| "-fno-omit-frame-pointer", |
| |
| "-fsanitize=memory", |
| "-fsanitize-memory-track-origins=${msan_track_origins}", |
| ] |
| package_ldflags = [ "-fsanitize=memory" ] |
| 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 |
| } |
| env = [] |
| if (defined(invoker.env)) { |
| env = invoker.env |
| } |
| 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}", |
| "--libdir=lib", |
| "--package=${target_name}", |
| "--product-dir=${product_dir}", |
| "--cflags=${package_cflags}", |
| "--ldflags=${package_ldflags}", |
| "--env=${env}", |
| ] |
| outputs = [ "${root_out_dir}/instrumented_libraries/${target_name}.txt" ] |
| inputs = [] |
| if (defined(invoker.pre_build)) { |
| inputs += [ invoker.pre_build ] |
| args += [ "--pre-build=${invoker.pre_build}" ] |
| } |
| if (defined(invoker.patches)) { |
| inputs += invoker.patches |
| foreach(patch, invoker.patches) { |
| args += [ "--patch=${patch}" ] |
| } |
| } |
| if (defined(invoker.msan_ignorelist)) { |
| inputs += [ invoker.msan_ignorelist ] |
| args += [ "--sanitizer-ignorelist=${invoker.msan_ignorelist}" ] |
| } |
| |
| if (defined(invoker.extra_configure_flags)) { |
| args += [ "--extra-configure-flags=${invoker.extra_configure_flags}" ] |
| } |
| |
| if (defined(invoker.git_url)) { |
| args += [ "--git-url=${invoker.git_url}" ] |
| } |
| |
| if (defined(invoker.git_revision)) { |
| args += [ "--git-revision=${invoker.git_revision}" ] |
| } |
| |
| if (defined(invoker.make_targets)) { |
| args += [ "--make-targets=${invoker.make_targets}" ] |
| } |
| } |
| } |
| |
| instrumented_library("atk1.0") { |
| build_method = "meson" |
| extra_configure_flags = [ "-Dintrospection=false" ] |
| } |
| |
| 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("dee") { |
| extra_configure_flags = [ |
| "--disable-static", |
| |
| # See above. |
| "--disable-introspection", |
| ] |
| pre_build = "scripts/pre-build/autogen.sh" |
| } |
| |
| instrumented_library("freetype") { |
| extra_configure_flags = [ "--disable-static" ] |
| } |
| |
| instrumented_library("guest-oslogin") { |
| git_url = "https://github.com/GoogleCloudPlatform/guest-oslogin.git" |
| git_revision = "f59b7f38c21b4794282ddf12fd4a6083cd99e1e4" |
| |
| # Work around an issue where header files are passed to the linker. |
| patches = [ "patches/guest-oslogin.diff" ] |
| } |
| |
| 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("libappindicator3-1") { |
| extra_configure_flags = [ |
| "--disable-static", |
| |
| # See above. |
| "--disable-introspection", |
| |
| "--with-gtk=3", |
| ] |
| pre_build = "scripts/pre-build/autogen.sh" |
| } |
| |
| instrumented_library("libasound2") { |
| extra_configure_flags = [ "--disable-static" ] |
| pre_build = "scripts/pre-build/libasound2.sh" |
| } |
| |
| instrumented_library("libatk-bridge2.0-0") { |
| build_method = "meson" |
| } |
| |
| instrumented_library("libatspi2.0-0") { |
| build_method = "meson" |
| extra_configure_flags = [ "-Dintrospection=no" ] |
| package_cflags = [ |
| "-Wno-incompatible-function-pointer-types", |
| "-Wno-implicit-function-declaration", |
| ] |
| } |
| |
| instrumented_library("libavahi-client3") { |
| extra_configure_flags = [ |
| "--disable-static", |
| "--disable-introspection", |
| "--disable-gtk3", |
| |
| # From debian/rules. |
| "--enable-compat-libdns_sd", |
| "--disable-mono", |
| "--disable-monodoc", |
| "--disable-qt3", |
| "--disable-qt4", |
| "--with-systemdsystemunitdir=/lib/systemd/system", |
| ] |
| patches = [ "patches/libavahi-client3.diff" ] |
| pre_build = "scripts/pre-build/autogen.sh" |
| } |
| |
| instrumented_library("libcairo2") { |
| extra_configure_flags = [ |
| "--disable-gtk-doc", |
| "--disable-static", |
| ] |
| |
| # Required due to aclocal version mismatch. |
| pre_build = "scripts/pre-build/autoreconf.sh" |
| } |
| |
| instrumented_library("libcap2") { |
| extra_configure_flags = [ "--disable-static" ] |
| build_method = "custom_libcap" |
| } |
| |
| instrumented_library("libcredentialkit_pkcs11") { |
| build_method = "stub" |
| } |
| |
| instrumented_library("libcups2") { |
| 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("libcurl3-gnutls") { |
| build_method = "custom_libcurl" |
| |
| # Don't generate zsh or fish completions. |
| patches = [ "patches/libcurl3-gnutls.diff" ] |
| } |
| |
| 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("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("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("libexpat1") { |
| build_method = "debian" |
| patches = [ |
| "patches/libexpat1.diff", |
| "patches/libexpat1.2.diff", |
| ] |
| } |
| |
| instrumented_library("libffi7") { |
| 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", |
| ] |
| } |
| |
| instrumented_library("libgcrypt20") { |
| 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("libgdk-pixbuf2.0-0") { |
| build_method = "meson" |
| extra_configure_flags = [ |
| "-Dgir=false", |
| "-Dman=false", |
| "-Dx11=true", |
| "-Djasper=false", |
| "-Dinstalled_tests=false", |
| |
| # 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. |
| "-Dbuiltin_loaders=all", |
| ] |
| pre_build = "scripts/pre-build/libgdk-pixbuf2.0-0.sh" |
| |
| # Ignore MSAN errors during the build. It's unclear why this only works on |
| # some binaries. |
| env = [ [ |
| "MSAN_OPTIONS", |
| "halt_on_error=0 exitcode=0", |
| ] ] |
| } |
| |
| instrumented_library("libglib2.0-0") { |
| build_method = "meson" |
| extra_configure_flags = [ |
| "-Dgdk_doc=false", |
| "-Dman=false", |
| ] |
| msan_ignorelist = "ignorelists/msan/libglib2.0-0.txt" |
| pre_build = "scripts/pre-build/libglib2.0-0.sh" |
| package_cflags = [ "-Wno-int-conversion" ] |
| } |
| |
| instrumented_library("libgnutls30") { |
| extra_configure_flags = [ |
| # from debian/rules. |
| "--enable-ld-version-script", |
| "--enable-cxx", |
| "--without-lzo", |
| "--disable-guile", |
| "--with-libgcrypt", |
| "--with-packager=Debian", |
| "--with-included-unistring", |
| |
| # MSAN is not compatible with instructions such as CPUID. |
| # https://github.com/google/oss-fuzz/issues/578 |
| "--disable-hardware-acceleration", |
| ] |
| patches = [ |
| # Make sure to use the memset/memcmp provided by MSAN, not the |
| # gnutls-provided ones. |
| "patches/libgnutls30.1.diff", |
| |
| # Work around several usages of uninitialized memory. The allocated |
| # memory is contained within libgnutls, so will not affect Chromium test |
| # coverage. |
| "patches/libgnutls30.2.diff", |
| ] |
| } |
| |
| instrumented_library("libgpg-error0") { |
| extra_configure_flags = [ "--disable-static" ] |
| } |
| |
| instrumented_library("libgtk-3-0") { |
| package_cflags = [ |
| "-Wno-implicit-function-declaration", |
| "-Wno-int-conversion", |
| "-Wno-return-type", |
| ] |
| extra_configure_flags = [ |
| "--disable-static", |
| "--disable-introspection", |
| |
| # From debian/rules. |
| "--enable-test-print-backend", |
| "--enable-x11-backend", |
| ] |
| pre_build = "scripts/pre-build/libgtk-3-0.sh" |
| patches = [ |
| # MSAN does not support GL, so it must be disabled in GTK. |
| # https://www.chromium.org/developers/testing/memorysanitizer#TOC-Disable-OpenGL |
| "patches/libgtk-3-0.diff", |
| ] |
| } |
| |
| instrumented_library("libido3-0.1-0") { |
| package_cflags = [ "-Wno-return-type" ] |
| extra_configure_flags = [ |
| "--disable-static", |
| |
| # See above. |
| "--disable-introspection", |
| |
| "--with-gtk=3", |
| ] |
| pre_build = "scripts/pre-build/autogen.sh" |
| } |
| |
| instrumented_library("libidn11") { |
| build_method = "debian" |
| pre_build = "scripts/pre-build/libidn.sh" |
| } |
| |
| instrumented_library("libindicator3-7") { |
| extra_configure_flags = [ |
| "--disable-static", |
| |
| # See above. |
| "--disable-introspection", |
| ] |
| pre_build = "scripts/pre-build/autogen.sh" |
| } |
| |
| instrumented_library("libjpeg-turbo8") { |
| build_method = "cmake" |
| } |
| |
| instrumented_library("libldap-2.4-2") { |
| extra_configure_flags = [ |
| "--disable-slapd", |
| |
| # From debian/rules. |
| "--enable-debug", |
| "--enable-dynamic", |
| "--enable-syslog", |
| "--enable-proctitle", |
| "--enable-ipv6", |
| "--enable-local", |
| "--with-subdir=ldap", |
| "--with-cyrus-sasl", |
| "--without-threads", |
| "--with-gssapi", |
| "--with-tls=gnutls", |
| "--with-odbc=unixodbc", |
| ] |
| |
| # Debian adds a custom patch that adds @VERSION_OPTION@, which must |
| # be substituted before building. |
| pre_build = "scripts/pre-build/dh_autoreconf.sh" |
| |
| package_cflags = [ |
| "-Wno-implicit-function-declaration", |
| "-Wno-implicit-int", |
| ] |
| } |
| |
| 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("libnettle7") { |
| } |
| |
| instrumented_library("libp11-kit0") { |
| extra_configure_flags = [ "--disable-static" ] |
| |
| # Required due to autoconf version mismatch. |
| pre_build = "scripts/pre-build/autoreconf.sh" |
| } |
| |
| instrumented_library("libpci3") { |
| extra_configure_flags = [ "--disable-static" ] |
| build_method = "custom_libpci3" |
| } |
| |
| instrumented_library("libpcre3") { |
| extra_configure_flags = [ |
| "--enable-utf8", |
| "--enable-unicode-properties", |
| "--disable-static", |
| ] |
| pre_build = "scripts/pre-build/dh_autoreconf.sh" |
| } |
| |
| 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", |
| ] |
| patches = [ "patches/libpixman-1-0.diff" ] |
| } |
| |
| instrumented_library("libpng16-16") { |
| extra_configure_flags = [ "--disable-static" ] |
| } |
| |
| instrumented_library("librtmp1") { |
| build_method = "debian" |
| |
| # Ensure we build with clang. |
| patches = [ "patches/librtmp1.diff" ] |
| } |
| |
| instrumented_library("libsasl2-2") { |
| build_method = "debian" |
| pre_build = "scripts/pre-build/libsasl2-2.sh" |
| package_cflags = [ |
| "-Wno-implicit-function-declaration", |
| "-Wno-return-type", |
| ] |
| } |
| |
| instrumented_library("libsecret") { |
| extra_configure_flags = [ |
| "--disable-static", |
| |
| # See above. |
| "--disable-introspection", |
| ] |
| pre_build = "scripts/pre-build/autoreconf.sh" |
| } |
| |
| instrumented_library("libssl1.1") { |
| build_method = "debian" |
| patches = [ |
| "patches/libssl1.1.diff", |
| "patches/libssl1.1-2.diff", |
| ] |
| } |
| |
| 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("libunity9") { |
| extra_configure_flags = [ "--disable-static" ] |
| pre_build = "scripts/pre-build/autogen.sh" |
| package_cflags = [ "-Wno-incompatible-function-pointer-types" ] |
| } |
| |
| instrumented_library("libva2") { |
| build_method = "meson" |
| } |
| |
| instrumented_library("libwayland-client0") { |
| extra_configure_flags = [ |
| "--disable-static", |
| "--disable-documentation", |
| ] |
| |
| # Do not use the just-built wayland_scanner because it is not runnable due |
| # to uninstrumented dependencies. |
| extra_configure_flags += [ "--with-host-scanner" ] |
| } |
| |
| instrumented_library("libx11-6") { |
| extra_configure_flags = [ |
| "--disable-specs", |
| "--disable-static", |
| ] |
| msan_ignorelist = "ignorelists/msan/libx11-6.txt" |
| } |
| |
| 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" |
| env = [ [ |
| "PYTHON", |
| "python3", |
| ] ] |
| } |
| |
| 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", |
| ] |
| patches = [ "patches/libxi6.diff" ] |
| } |
| |
| instrumented_library("libxinerama1") { |
| extra_configure_flags = [ "--disable-static" ] |
| } |
| |
| instrumented_library("libxkbcommon0") { |
| package_ldflags = [ "-Wl,-z,undefs" ] |
| build_method = "debian" |
| pre_build = "scripts/pre-build/xkbcommon.sh" |
| patches = [ "patches/libxkbcommon0.diff" ] |
| } |
| |
| 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("nss") { |
| # TODO(eugenis): get rid of this dependency |
| deps = [ ":libnspr4" ] |
| patches = [ |
| "patches/nss.diff", |
| "patches/nss.2.diff", |
| ] |
| build_method = "custom_nss" |
| } |
| |
| instrumented_library("opensc-pkcs11") { |
| build_method = "debian" |
| } |
| |
| instrumented_library("pango1.0") { |
| build_method = "meson" |
| extra_configure_flags = [ |
| # Avoid https://bugs.gentoo.org/show_bug.cgi?id=425620 |
| "-Dintrospection=false", |
| ] |
| patches = [ "patches/pango1.0.diff" ] |
| } |
| |
| instrumented_library("pulseaudio") { |
| # New location of libpulsecommon. |
| 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", |
| |
| # There's a build failure caused (I think) by a missing include, so skip |
| # building the offending file to avoid maintaining a patch. |
| "--disable-android-hal", |
| ] |
| pre_build = "scripts/pre-build/pulseaudio.sh" |
| } |
| |
| instrumented_library("libudev1") { |
| build_method = "meson" |
| } |
| |
| instrumented_library("zlib1g") { |
| make_targets = [ "libz.so.1.2.11" ] |
| } |