# libmount.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='libmount.so.1'

# Names of this library.
library_names='libmount.so.1.1.0 libmount.so.1 libmount.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-util-linux/host/lib /usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/build/host-util-linux-2.35.1/libblkid.la -lrt'

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

# Version information for libmount.
current=2
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-util-linux/host/lib'
