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

# Names of this library.
library_names='libattr.so.1.1.2448 libattr.so.1 libattr.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-attr/host/lib'

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

# Version information for libattr.
current=2
age=1
revision=2448

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