* [EMAIL PROTECTED] wrote on Fri, Nov 14, 2008 at 12:28:36AM CET: > > The point is, we perhaps STARTED with the .la file, but the whole point > of the dlpreopen $pass is to replace each .la file in $dlprefiles with > the name of the object from which the symbols should be extracted, to > build the symbol table. So, pick one: either the DLL, or the import > library (there is no static lib, the failure mode in question occurs > when --disable-static). > > If you pick "DLL" -- then it's real hard to get the symbols (objdump > ugliness, plus figuring out which ones are DATA). > > If you pick "implib" -- then it's real hard to get the correct DLL name > (but not nearly as hard as extracting the correct symbols from the dll). > > But the name of the .la file is no longer available.
But that's a problem that can be solved. # turn $1 into a string suitable for a shell variable name func_tr_sh () { ... # typically forks, except maybe with bash ${var/subst/repl} } # when treating $dlprefile, save the corresponding .la file name: func_tr_sh "$dlprefile" eval "libfile_$tr_sh_result=\$corresponding_dotla_file" # later, when searching for the .la file, test libfile$tr_sh_result # for contents What do you think? Cheers, Ralf