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: [email protected]
ReportedBy: [email protected]
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.