On Tue, Jul 19, 2005 at 10:03:14PM +0200, FX Coudert wrote: >>I'd prefer that Danny review this but neither of us has the right to >>approve this patch. > >Well, then, who has the right to approve such a patch? > >>However, it seems like you're adding extra stuff to the Makefile where >>it is already trying to do the right thing if $(LN) fails. Couldn't LN >>just be declared as "cp" for mingw or, alternatively, couldn't it be >>defined as some failing command so that the cp in the failing condition >>would be invoked? > >Well, perhaps I wasn't clear enough on what is the problem: > >- case "$<" in \ >- ./*) ;; \ >- ../*) \ >- echo $(LN) $< as$(exeext); \ >- $(LN) $< as$(exeext) || cp $< as$(exeext) ;; \ >- *) echo '#!$(SHELL)' > as; echo 'exec $< "$$@"' >> as ; \ >- chmod +x as ;; \ >+ case "$(build)" in \ >+ *mingw32*) \ >+ cp $< as$(exeext) ;; \ >+ *) \ >+ case "$<" in \ >+ ./*) ;; \ >+ ../*) \ >+ echo $(LN) $< as$(exeext); \ >+ $(LN) $< as$(exeext) || cp $< as$(exeext) ;; \ >+ *) echo '#!$(SHELL)' > as; echo 'exec $< "$$@"' >> as ; \ >+ chmod +x as ;; \ >+ esac \ > >The cases with ./*) and ../*) already well handled, and just kept "as >is" when $(build) is mingw32. The $(LN) command succeeds, that's not the >problem. > >Only the remaining case, which creates a shell script, fails on mingw32. >The shell script is spawned to call the assembler, which fails. Only >real win32 executables can be spawned.
Ok. Given that 'cp' was an acceptable fallback in the original version of the above script, I wonder why 'cp' wasn't used instead of creating a shell script wrapper. cgf