This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
make -j patch -- part 1 all targets [gcc/Makefile.in]
- To: gcc-patches at gcc dot gnu dot org
- Subject: make -j patch -- part 1 all targets [gcc/Makefile.in]
- From: Kelley Cook <kelley dot cook at home dot com>
- Date: Wed, 23 May 2001 16:49:44 -0400
Cygwin does not work with make -j. For example a branch bootstap crashes with
---- snip ----
gcc -c -DIN_GCC -g -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DCYGWIN_CROSS_DIR=\"/usr/local/i686-pc-cygwin\" -I.-I. -I/src/gcc3/gcc -I/src/gcc3/gcc/. -I/src/gcc3/gcc/config -I/src/gcc3/gcc/../include /src/gcc3/gcc/config/i386/winnt.c
In file included from /src/gcc3/gcc/config/i386/xm-i386.h:39,
from config.h:5,
from /src/gcc3/gcc/config/i386/winnt.c:22:
tm.h:8: insn-codes.h: No such file or directory
tm.h:9: insn-flags.h: No such file or directory
In file included from /src/gcc3/gcc/config/i386/winnt.c:22:
config.h:11: insn-codes.h: No such file or directory
config.h:12: insn-flags.h: No such file or directory
In file included from /src/gcc3/gcc/config/i386/winnt.c:24:
/src/gcc3/gcc/rtl.h:1538: genrtl.h: No such file or directory
In file included from /src/gcc3/gcc/config/i386/winnt.c:28:
/src/gcc3/gcc/tree.h:324: tree-check.h: No such file or directory
In file included from /src/gcc3/gcc/config/i386/winnt.c:30:
tm_p.h:5: insn-codes.h: No such file or directory
tm_p.h:6: insn-flags.h: No such file or directory
make: *** [winnt.o] Error 1
make: *** Waiting for unfinished jobs....
--- snip ---
The first problem is obvious and is in part two of this patch.
The second problem is that the makefile definitions for *_H are included AFTER the target/host overrides. This unfortunately means any extra object file defined in a host/target makefile fragment that is dependent on (for example) $(CONFIG_H) will likely fail in a parallel build.
So I moved the *_H definitions above the where the target/host overrides are included. I visually checked all the config/*/{t,x}-* files and none of them modify any of the *_H definitions. So this should not be a problem.
Bootstrapped with make -j 4 on a SMP box under Cygwin (with part 2) and Suse 7.1.
Kelley Cook <no write privledges>
Makefile.in.diff