Mail Archives: cygwin/2008/04/14/19:07:41
--------------060806020909010606060606
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Yaakov (Cygwin Ports) wrote:
> Charles Wilson wrote:
> | Changes sine libtool2.2-2.2.2-1
> | =================================
> | o changed base package name from 'libtool2.2' to 'libtool'
> | o Added patches from Yaakov Selkowitz
> | http://cygwin.com/ml/cygwin/2008-04/msg00378.html
>
> Do you know why I'm getting this:
>
> *** Warning: linker path does not have real file for library -lwinmm.
I think that libtool hasn't been told that LDFLAGS should include
-L/usr/lib/w32api. I think this is something that should be passed on
the invocation line in your makefile -- maybe AM_LDFLAGS needs to be set?
> *** I have the capability to make that library automatically link in when
> *** you link to this library. But I can only do this if you have a
> *** shared version of the library, which you do not appear to have
> *** because I did check the linker path looking for a file starting
> *** with libwinmm but no candidates were found. (...for file magic test)
>
> Is it the /usr/lib/w32api location that libtool is having a hard time
> with, the .a extension, or something else?
No, it's not a file type or identification problem; libtool can't find
libwinmm.a at all.
FWIW:
$ ./func_win32_libid.sh /usr/lib/w32api/libwinmm.a
x86 archive import
So that's ok. (func_win32_libid.sh is just func_win32_libid() from
libtool-2.2.2-2, with the OBJDUMP/NM/etc variables set.
--
Chuck
--------------060806020909010606060606
Content-Type: text/plain;
name="func_win32_libid.sh"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="func_win32_libid.sh"
#!/bin/bash
ECHO=echo
OBJDUMP=objdump
EGREP="grep -E"
SED=sed
NM=nm
func_win32_libid ()
{
$opt_debug
win32_libid_type="unknown"
win32_fileres=`file -L $1 2>/dev/null`
case $win32_fileres in
*ar\ archive\ import\ library*) # definitely import
win32_libid_type="x86 archive import"
;;
*ar\ archive*) # could be an import, or static
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
$EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
win32_nmres=`eval $NM -f posix -A $1 |
$SED -n -e '
1,100{
/ I /{
s,.*,import,
p
q
}
}'`
case $win32_nmres in
import*) win32_libid_type="x86 archive import";;
*) win32_libid_type="x86 archive static";;
esac
fi
;;
*DLL*)
win32_libid_type="x86 DLL"
;;
*executable*) # but shell scripts are "executable" too...
case $win32_fileres in
*MS\ Windows\ PE\ Intel*)
win32_libid_type="x86 DLL"
;;
esac
;;
esac
$ECHO "$win32_libid_type"
}
for fn in "$@" ; do
func_win32_libid "$fn"
done
--------------060806020909010606060606
Content-Type: text/plain; charset=us-ascii
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
--------------060806020909010606060606--
- Raw text -