This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PING [4.1 regression, patch] build i686-pc-mingw32
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