PING ** 2
Attached patch fixes PR bootstrap/22259 (right now, a simple ./configure
&& make build fails on i386-mingw32). It creates a special case for
in-tree as, collect-ld and nm scripts: since mingw32 cannot spawn shell
scripts, it copies $(ORIGINAL_AS_FOR_TARGET), $(ORIGINAL_LD_FOR_TARGET)
and $(ORIGINAL_NM_FOR_TARGET) in the tree.
There has been discussion on whether this is the best way to do things
(see thread from
http://gcc.gnu.org/ml/gcc-patches/2005-07/msg01193.html), but nobody
suggested another patch that actually makes build possible on
i386-mingw32. And, from what I have understood, none of the mingw
maintainers have anything against the patch, but they can't approve it.
Can someone with approval privilege over the build system look at this,
and OK it? (it's a very simple patch)
Thanks,
FX
:ADDPATCH build:
2005-08-06 Francois-Xavier Coudert <[EMAIL PROTECTED]>
PR bootstrap/22259
* Makfile.in (stamp-as, stamp-collect-ld, stamp-nm): Add special
case for mingw32 since it cannot spawn shell scripts.
Index: gcc/Makefile.in
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.1534
diff -p -u -r1.1534 Makefile.in
--- gcc/Makefile.in 3 Aug 2005 14:18:34 -0000 1.1534
+++ gcc/Makefile.in 6 Aug 2005 11:29:02 -0000
@@ -1228,10 +1228,15 @@ stamp-as: $(ORIGINAL_AS_FOR_TARGET)
echo $(LN) $< as$(exeext); \
$(LN) $< as$(exeext) || cp $< as$(exeext) ;; \
*) \
- rm -f as; \
- echo '#!$(SHELL)' > as; \
- echo 'exec $(ORIGINAL_AS_FOR_TARGET) "$$@"' >> as ; \
- chmod +x as ;; \
+ rm -f as$(exeext); \
+ case "$(build)" in \
+ *mingw32*) \
+ cp $(ORIGINAL_AS_FOR_TARGET) as$(exeext) ;; \
+ *) \
+ echo '#!$(SHELL)' > as; \
+ echo 'exec $(ORIGINAL_AS_FOR_TARGET) "$$@"' >> as ; \
+ chmod +x as ;; \
+ esac \
esac
echo timestamp > $@
@@ -1245,9 +1250,14 @@ stamp-collect-ld: $(ORIGINAL_LD_FOR_TARG
$(LN) $< collect-ld$(exeext) || cp $< collect-ld$(exeext) ;; \
*) \
rm -f collect-ld$(exeext); \
- echo '#!$(SHELL)' > collect-ld; \
- echo 'exec $(ORIGINAL_LD_FOR_TARGET) "$$@"' >> collect-ld ; \
- chmod +x collect-ld ;; \
+ case "$(build)" in \
+ *mingw32*) \
+ cp $(ORIGINAL_LD_FOR_TARGET) collect-ld$(exeext) ;; \
+ *) \
+ echo '#!$(SHELL)' > collect-ld; \
+ echo 'exec $(ORIGINAL_LD_FOR_TARGET) "$$@"' >> collect-ld ; \
+ chmod +x collect-ld ;; \
+ esac \
esac
echo timestamp > $@
@@ -1261,9 +1271,14 @@ stamp-nm: $(ORIGINAL_NM_FOR_TARGET)
$(LN) $< nm$(exeext) || cp $< nm$(exeext) ;; \
*) \
rm -f nm$(exeext); \
- echo '#!$(SHELL)' > nm; \
- echo 'exec $(ORIGINAL_NM_FOR_TARGET) "$$@"' >> nm ; \
- chmod +x nm ;; \
+ case "$(build)" in \
+ *mingw32*) \
+ cp $(ORIGINAL_NM_FOR_TARGET) nm$(exeext) ;; \
+ *) \
+ echo '#!$(SHELL)' > nm; \
+ echo 'exec $(ORIGINAL_NM_FOR_TARGET) "$$@"' >> nm ; \
+ chmod +x nm ;; \
+ esac \
esac
echo timestamp > $@