[toplevel patch v.2] Up with parallelism!
Nathanael Nerode
neroden@twcny.rr.com
Tue Jun 10 22:41:00 GMT 2003
Tested as with the previous version on i686-pc-linux-gnu with
make -j 4 bootstrap.
* configure.in: Disable serial configure by default.
* configure: Regenerate.
* Makefile.tpl: Abolish .NOTPARALLEL.
* Makefile.in: Regenerate.
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/configure.in,v
retrieving revision 1.237
diff -u -r1.237 configure.in
--- configure.in 3 Jun 2003 20:42:13 -0000 1.237
+++ configure.in 10 Jun 2003 22:32:59 -0000
@@ -1698,18 +1698,25 @@
# Create the serialization dependencies. This uses a temporary file.
AC_ARG_ENABLE([serial-configure],
-[ --disable-serial-[{host,target,build}-]configure
- Don't force sequential configuration of
+[ --enable-serial-[{host,target,build}-]configure
+ Force sequential configuration of
sub-packages for the host, target or build
- machine, or of any sub-packages at all])
+ machine, or all sub-packages])
+
+case ${enable_serial_configure} in
+ yes)
+ enable_serial_build_configure=yes
+ enable_serial_host_configure=yes
+ enable_serial_target_configure=yes
+ ;;
+esac
# These force 'configure's to be done one at a time, to avoid problems
# with contention over a shared config.cache.
rm -f serdep.tmp
echo '# serdep.tmp' > serdep.tmp
olditem=
-test "x${enable_serial_configure}" = xno ||
-test "x${enable_serial_build_configure}" = xno ||
+test "x${enable_serial_build_configure}" = xyes &&
for item in ${build_configdirs} ; do
case ${olditem} in
"") ;;
@@ -1718,8 +1725,7 @@
olditem=${item}
done
olditem=
-test "x${enable_serial_configure}" = xno ||
-test "x${enable_serial_host_configure}" = xno ||
+test "x${enable_serial_host_configure}" = xyes &&
for item in ${configdirs} ; do
case ${olditem} in
"") ;;
@@ -1728,8 +1734,7 @@
olditem=${item}
done
olditem=
-test "x${enable_serial_configure}" = xno ||
-test "x${enable_serial_target_configure}" = xno ||
+test "x${enable_serial_target_configure}" = xyes &&
for item in ${target_configdirs} ; do
case ${olditem} in
"") ;;
Index: Makefile.tpl
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.tpl,v
retrieving revision 1.57
diff -u -r1.57 Makefile.tpl
--- Makefile.tpl 10 Jun 2003 22:24:39 -0000 1.57
+++ Makefile.tpl 10 Jun 2003 22:33:11 -0000
@@ -731,7 +731,7 @@
.PHONY: check do-check
check:
- $(MAKE) do-check NOTPARALLEL=parallel-ok
+ $(MAKE) do-check
# Only include modules actually being configured and built.
do-check: maybe-check-gcc [+
@@ -1298,7 +1298,7 @@
.PHONY: check-c++
check-c++:
- $(MAKE) check-target-libstdc++-v3 check-gcc-c++ NOTPARALLEL=parallel-ok
+ $(MAKE) check-target-libstdc++-v3 check-gcc-c++
.PHONY: install-gcc maybe-install-gcc
maybe-install-gcc:
@@ -1494,12 +1494,6 @@
# ------------------------------
# Special directives to GNU Make
# ------------------------------
-
-# Tell GNU make 3.79 not to run the top level in parallel. This
-# prevents contention for $builddir/$target/config.cache, as well
-# as minimizing scatter in file system caches.
-NOTPARALLEL = .NOTPARALLEL
-$(NOTPARALLEL):
# Don't pass command-line variables to submakes.
.NOEXPORT:
More information about the Gcc-patches
mailing list