I have a similar problem on a different account: the version management system at my employer uses "~" in directory names to flag different branches and subversions of projects and their checkout areas. The libtool has the tendency to resolve some symlinks, so it does not help to put some directories elsewhere. It was impossible to build with libtool in this environment - after some time I did write up an ac-macro that changes the _cmds IFS from "~" into "?" which is much more uncommon to exist in either a filename or a _cmds specification. Add the following macro after OUTPUT, and you should be fine with any "~" in file or directory names in the system:
http://ac-archive.sf.net/guidod/patch_libtool_changing_cmds_ifs.html
Btw, I wouldn't mind if libtool would simply not use "~" as the IFS in its original source, so this libtool-patching could get obsolete once and for all. -- cheers, guido
Naofumi Yasufuku wrote:
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
_______________________________________________ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool