From: eugene AT bgs DOT com (Eugene Kanter) Subject: Re: `ldd' functionality 10 Dec 1998 03:25:11 -0800 Message-ID: <366E9838.4DE1FCCF.cygnus.gnu-win32@bgs.com> References: <366D66A2 DOT ADE6272D AT oranda DOT demon DOT co DOT uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: gnu-win32 AT cygnus DOT com Check ldd functionality from U/WIN toolkit. It works correctly the same way UNIX does (e.g. tries to run application). Looking at DLL list is not enough, since if older version is present your script won't tell the differentce but application will fail. Eugene. "Gary V. Vaughan" wrote: > I am in the process of patching libtool to play nicely on win32, and > it turns out that as part of the port I need to do the equivalent to ldd > on linux/solaris. > > Attached is a script which seems to give the right results -- is this > the correct approach? Or is there a cleaner (or less kludgy) way to do > it? > > Cheers, > Gary V. Vaughan. > > ------------------------------------------------------------------------ > #! /bin/sh > > object=$1 > exeext=.exe > re_dll='^ DLL Name: ' > > test -f $object$exeext && object=$object$exeext > test -f $object || { echo "$object: no such file"; exit 1; } > test $# = 1 || { echo "USAGE: ldd "; exit 1; } > > OBJDUMP=${OBJDUMP=objdump} > OBJDUMP_FLAGS=${OBJDUMP_FLAGS='-p -j idata'} > > eval ${OBJDUMP} ${OBJDUMP_FLAGS} $object \ > | grep "$re_dll" | sed "s,$re_dll,," > > exit 0 - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".