# libmpfr.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-9+local1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libmpfr.so.6'

# Names of this library.
library_names='libmpfr.so.6.0.2 libmpfr.so.6 libmpfr.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=''

# Libraries that this one depends upon.
dependency_libs=' -L/usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-mpfr/host/lib /usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-mpfr/host/lib/libgmp.la -L/usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-gmp/host/lib'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for libmpfr.
current=6
age=0
revision=2

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-mpfr/host/lib'
