On 28/07/2009 05:56, Dave Korn wrote:
Yeh, me too. I have a horrible hack in the distro gcc that ascends directories until it finds ...../lib/ and replaces that with ..../bin/
I'm not sure how you did it, so I just made the attached patch to do just that. It's a bit of a hack but I don't think it's so horrible. Chuck, what do you think?
Only libtool knows about the DLL. Only the Makefile knows about the setting of $bindir from configure. Currently however the Makefile only passes the path to the output in $libdir. Therefore ISTM that the only correct solution is to add a --bindir= option to libtool and modify automake or libtoolise to ensure it gets passed by the makefiles when they invoke libtool.
It might be more correct, but implementing this would be *VERY* messy. Trust me. The first solution would be much, much easier.
Yaakov
2009-08-09 Yaakov Selkowitz <yselkow...@users.sourceforge.net> * libltdl/config/ltmain.m4sh (func_mode_link) [cygwin*]: If a shared library is installed into a subdirectory of $prefix/lib, install the DLL into $prefix/bin so that it will be in $PATH. --- origsrc/libtool-2.2.7a/libltdl/config/ltmain.m4sh 2009-08-08 23:47:33.051542300 -0500 +++ src/libtool-2.2.7a/libltdl/config/ltmain.m4sh 2009-08-09 01:39:35.688299700 -0500 @@ -7741,7 +7741,21 @@ EOF # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + *cygwin*,*lai,yes,no,*.dll) + tdlname=../$dlname + case "$install_libdir" in + */lib/*) + tlibdir="$install_libdir" + while :; do + func_dirname_and_basename "$tlibdir" + test "$func_basename_result" = "lib" && break + tlibdir="$func_dirname_result" + tdlname=../$tdlname + done + ;; + esac + ;; + *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $ECHO > $output "\ # $outputname - a libtool library file
-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple