X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <4803E38F.9080708@cwilson.fastmail.fm> Date: Mon, 14 Apr 2008 19:06:55 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.12) Gecko/20080213 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: [ANNOUNCEMENT] NEW: libtool-2.2.2-2 / Updated: libltdl7-2.2.2-2 References: <4803AA47 DOT 70501 AT users DOT sourceforge DOT net> In-Reply-To: <4803AA47.70501@users.sourceforge.net> Content-Type: multipart/mixed; boundary="------------060806020909010606060606" Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com --------------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--