# libgmodule-2.0.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# 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='libgmodule-2.0.a'

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

# Libraries that this one depends upon.
dependency_libs=' -L/tmp/digit-build-temp-464/install-windows-x86/lib -L/tmp/digit-build-temp-464/install-windows-x86/lib32 /tmp/digit-build-temp-464/install-windows-x86/lib/libglib-2.0.la -lws2_32 -lole32 -lwinmm -lshlwapi'

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

# Version information for libgmodule-2.0.
current=3800
age=3800
revision=2

# 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/digit-build-temp-464/install-windows-x86/lib'
