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

# Names of this library.
library_names='libacl.so.1.1.2253 libacl.so.1 libacl.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-acl/host/lib -L/usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-attr/host/lib /usr/local/google/home/tabba/work/kayvium/android-kvm/out/buildroot/per-package/host-acl/host/lib/libattr.la'

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

# Version information for libacl.
current=2
age=1
revision=2253

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