On Fri, Apr 14, 2006 at 10:11:39AM -0700, David Byron wrote: > I'm having trouble getting autoconf to do what I want when configuring > under cygwin for cccl/MSVC. I'm trying to change the behavior of: > > AC_CONFIG_LINKS(dest.h:source.h) > > MSVC doesn't seem to deal with reading through cygwin links, I think > because the actual filename of the link is dest.h.lnk. When a C file > does > > #include <dest.h> > > MSVC doesn't find it. > > So, I want AC_CONFIG_LINKS to make a copy instead of a link. As a quick workaround, I would put an `ln' command that always fails in your PATH, before /bin/ln. If $HOME/bin comes before /bin in your PATH, perhaps just `(cd ~/bin && ln -s /bin/false ln)'. > AC_CONFIG_COMMANDS([foo],$config_cmd) > > which seems to get $config_cmd set correctly in configure, but not in > config.status. You can use the third argument to AC_CONFIG_COMMANDS to get the variable declared in `config.status'. Probably this: AC_CONFIG_COMMANDS(foo, $config_cmd, config_cmd='$config_cmd') See documentation nodes `Configuration Commands' and `Configuration Actions'. > It feels like someone must have dealt with this before, > and probably in a cleaner way than having a separate config command for > each link. AC_CONFIG_LINKS is not so widely used, and neither is `cccl', so it is possible that you are the first person to face this problem. I would use your essential approach involving AC_CONFIG_COMMANDS, but rather than checking $host to decide whether to use symbolic links for headers, write a behavioral test. Namely, create a simple header file, make a symbolic link to the header, and try to compile a program that includes it by its symlinked name. If this succeeds, use `ln -s' or `$as_ln_s'; otherwise, use `cp -p'. > Does it make sense to have the code that supports AC_CONFIG_LINKS use > $as_ln_s instead of straight ln -s in: > > # Try a symlink, then a hard link, then a copy. > ln -s $ac_rel_source $ac_dest 2>/dev/null || > ln $srcdir/$ac_source $ac_dest 2>/dev/null || > cp -p $srcdir/$ac_source $ac_dest || That is probably a reasonable clean up. It will not fix your problem, because there is no clean way to override $as_ln_s in `config.status'. _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf