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

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

# Names of this library.
library_names='libmpc.so.3.1.0 libmpc.so.3 libmpc.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-mpc/host/lib -L/usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-mpfr/host/lib -L/usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-gmp/host/lib /usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-mpc/host/lib/libmpfr.la /usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-mpfr/host/lib/libgmp.la /usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-mpc/host/lib/libgmp.la -lm'

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

# Version information for libmpc.
current=4
age=1
revision=0

# 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-mpc/host/lib'
