On 9/16/2010 1:28 PM, Ralf Wildenhues wrote: > do I see it right that there are no pending w32 patches for before > the next Libtool release any more (after the one I just acked)?
My most recent cygwin-special libtool release has the following four patches: 0001-cygwin-mingw-Create-UAC-manifest-files.patch 0002-Pass-various-runtime-library-flags-to-GCC.patch 0003-Fix-linking-with-fstack-protector.patch 0004-cygwin-mingw-Fix-order-of-PATH-manipulation-in-cwrap.patch Of these, 0001 and 0002 have already been posted on this list, but there was quite a bit of discussion and no resolution was reached. For 0002, personally I think TRTTD is to stop using ld and instead use the compiler driver to link, when using the GNU tools -- but that's definitely a think-about-it-after-this-release item. This also applies with regards to 0003. For 0001, I had hoped that we could piggyback on Peter's manifest tool support instead of a hack like this, but it doesn't appear to be the case. I don't think it is worth holding up the release in order to figure out this issue. 0004...is very simple, and fixes a specific problem: http://cygwin.com/ml/cygwin/2010-07/msg00608.html I've pasted the current version of this patch inline, but I'll to rebase, retest, and post "officially" later. I also need to document the '$to_host_file_cmd' variable, as Peter has documented the similar '$to_tool_file_cmd' variable. Other than that, there are a number of items on our TODO list (additional test cases, always room for better/more documentation, etc), but nothing that needs to block the release. I'll post the two promised patches tonight (0004-rebased, plus simple libtool.texi patch). [cygwin|mingw] Fix order of PATH manipulation in cwrapper * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Call lt_update_exe_path before lt_update_lib_path, to ensure that the local OBJDIR(s) supersedes any -rpath directories. Reported by Jon Turney <...> --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -3677,8 +3677,12 @@ EOF lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */ lt_setenv ("DUALCASE", "1"); /* for MSK sh */ - lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); + /* For Windows, this order is important: it ensures that any -rpath + values are prepended first, and then the local OBJDIR directory(ies) + is prepended second -- ensuring that just-built libraries supersede + installed ones. */ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE); + lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE); lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n", nonnull (lt_argv_zero)); -- Chuck