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

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

# Names of this library.
library_names=''

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

# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''

# Libraries that this one depends upon.
dependency_libs=' -L/usr/local/google/home/smcgruer/Desktop/buildroot/output/host/lib -L/usr/local/google/home/smcgruer/Desktop/buildroot/output/host/usr/lib /usr/local/google/home/smcgruer/Desktop/buildroot/output/host/usr/lib/libmpfr.la /usr/local/google/home/smcgruer/Desktop/buildroot/output/host/usr/lib/libgmp.la -lm'

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

# Version information for libmpc.
current=3
age=0
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/smcgruer/Desktop/buildroot/output/host/usr/lib'
