http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52122
Bug #: 52122 Summary: [4.6.x/4.7] incorrect ln -s replacement for mingw like targets in configure files Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: daniel.f.sta...@freenet.de Taking the current gcc 4.7 trunk revision 183875 (and even older versions like 4.6.x) as well as the libraries used the configure files are set to use "cp -p" as replacement for "ln -s" for mingw targets. This is correct for files but not for directories especially when contianing sub directories. My proposal is to replace it with "cp -pr" to handle recursion. As a result of the current problem ada fails bootstrapping on mingw while trying to copy a folder of header files. Extract from gcc/configure: 472 as_ln_s='ln -s' 473 # ... but there are two gotchas: 474 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. 475 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. 476 # In both cases, we have to default to `cp -p'. 477 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || 478 as_ln_s='cp -p' I hope this is the right place for this issue as I am not certain how the configure system is handled.