Hi, libtool uses '~' as IFS in some commands (ex. $archive_expsym_cmds), so that win32 short name which includes '~' (ex. c:/progra~1/foo/...) causes a problem. For example, if we want to build DLL which is linked with -Lc:/progra~1/foo/lib -lbar, DLL build command fails.
I think it can be solved by putting off the command list variable expansion until its execution loop. In current libtool, # expand command list variable eval cmds=\"$archive_expsym_cmds\" # $deplibs is expanded here .... # then, execute each command save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" If $deplibs includes -Lc:/progra~1/foo/lib, $cmd is sepalated at -Lc:/progra, so that DLL build fails. If command list variable expansion is put off until execution, # set command list to $cmds cmds=$archive_expsym_cmds .... # execute each command save_ifs="$IFS"; IFS='~' for temp_cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$temp_cmd\" # $deplibs is expanded here $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" Command list is separated by IFS='~', then -Lc:/progra~1/foo/lib is expanded into $cmd, and DLL build works well. It enables libtool to treat win32 short name without changing IFS character which is currently used. What do you think of it? Regards, --Naofumi _______________________________________________ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool