# 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/tmp/build-mingw64-toolchain-digit/install-x86_64-linux-gnu/x86_64-w64-mingw32/lib /tmp/build-mingw64-toolchain-digit/install-x86_64-linux-gnu/x86_64-w64-mingw32/lib/libmpfr.la /tmp/build-mingw64-toolchain-digit/install-x86_64-linux-gnu/x86_64-w64-mingw32/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='/tmp/build-mingw64-toolchain-digit/install-x86_64-linux-gnu/x86_64-w64-mingw32/lib'
