Charles Wilson wrote: > * libltdl/config/general.m4sh: Update copyright year. > (func_tr_sh): New function. > * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]: > Obtain DLL name corresponding to import library by using value > stored in unique variable libfile_$(transliterated implib name). > If that fails, use $sharedlib_from_linklib_cmd to extract DLL > name from import library directly. Also, properly extract dlsyms > from the import library. > (func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs > over static libs when both are available. When dlpreopening > DLLs, use linklib (that is, import lib) as dlpreopen file, > rather than DLL. Store name of associated la file in > unique variable libfile_$(transliterated implib name) > for later use. > (func_win32_libid): Accomodate pei-i386 import libs > as well as pe-i386. > (func_cygming_dll_for_implib): New function. > (func_cygming_dll_for_implib_fallback): New function. > (func_cygming_dll_for_implib_fallback_core): New function. > (func_cygming_gnu_implib_p): New function. > (func_cygming_ms_implib_p): New function. > * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed > expressions for lt_cv_sys_global_symbol_to_c_name_address and > lt_cv_sys_global_symbol_to_c_name_address_lib_prefix > as trailing space after module name is optional. > (_LT_LINKER_SHLIBS) [cygwin|mingw][C++]: > Set exclude_expsyms correctly for $host. Simplify regular > expression in export_symbols_cmds. > (_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms > correctly for $host. Enable export_symbols_cmds to identify > DATA exports by _nm_ prefix. > (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets > sharedlib_from_linklib_cmd variable. > (_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set. > --- > Reposted without change from -take5, here: > http://lists.gnu.org/archive/html/libtool-patches/2009-01/msg00232.html > > This patch has been in use in the cygwin distribution since 2009-02-20.
Ping? FYI, the cygwin distribution recently (Jul 4) released an updated binutils package (2.19.51) for cygwin-1.7. This version supports the --identify and --identify-strict options -- so, at least on cygwin-1.7 we won't be using the func_cygming_dll_for_implib_fallback function. Now, with the redesign proposed by Ralf back in January and implemented (take 3? take 4? I forget), we ordinarily use NEITHER func_cygming_dll_for_implib_fallback nor dlltool --identify-strict because, in the ordinary case, we have a libtool .la file and use it to track implib<->dll. NOW, the only time either of these two methods is used, is when someone specifies explicitly an implib or DLL on the link command passed to libtool: libtool mode=link .... /my/path/foo.dll.a -lbar-3.dll BUT...it's still nice that the (faster, less kludgy) dlltool method can now be used on cygwin-1.7. (No, the standard toolchain from the mingw.org guys doesn't yet support --identify-strict, so it still uses the fallback). -- Chuck