From 1a9b0400217e40a6cdee3e6ab18089d8bbfb1081 Mon Sep 17 00:00:00 2001 From: John Marino Date: Sun, 28 Oct 2012 00:55:14 +0200 Subject: [PATCH] Restore build parallelism The build parallelism was accidently disabled with recent commits. First, relocate libobjc headers for gcc44 to /usr/libdata/gcc44/objc and then remove all the strict ordering to maximize build parallelism. Exception: the gcc47 library set requires libsupc++ to be built after libstdc++ because they share object files built by libstdc++. --- Makefile_upgrade.inc | 1 + etc/mtree/BSD.usr.dist | 2 ++ gnu/lib/Makefile | 5 ++++- gnu/lib/gcc44/Makefile | 4 +++- gnu/lib/gcc44/libobjc/Makefile | 2 +- gnu/lib/gcc47/Makefile | 5 ++++- 6 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Makefile_upgrade.inc b/Makefile_upgrade.inc index c1243bcc29..985e3db6d2 100644 --- a/Makefile_upgrade.inc +++ b/Makefile_upgrade.inc @@ -2081,6 +2081,7 @@ TO_REMOVE+=/usr/share/man/man2/caps_sys_setgen.2.gz TO_REMOVE+=/usr/share/man/cat2/caps_sys_wait.2.gz TO_REMOVE+=/usr/share/man/man2/caps_sys_wait.2.gz TO_REMOVE+=/var/caps +TO_REMOVE+=/usr/include/objc .if ${MACHINE_ARCH} == "x86_64" TO_REMOVE+=/usr/libdata/stallion/2681.sys diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index 7e78ecdedb..e6622d3952 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -43,6 +43,8 @@ .. libdata gcc44 + objc + .. .. gcc47 objc diff --git a/gnu/lib/Makefile b/gnu/lib/Makefile index 85844e9a80..ed932ac72a 100644 --- a/gnu/lib/Makefile +++ b/gnu/lib/Makefile @@ -1,4 +1,5 @@ -# SUBDIR_ORDERED defaults to SUBDIR order which is just fine +# The libobjc header conflict between base compilers has been resolved +# Maximum parallelism can be restored by setting SUBDIR_ORDERED to null SUBDIR= gcc44 @@ -12,4 +13,6 @@ SUBDIR+= libdialog SUBDIR+= libluks SUBDIR+= liblvm +SUBDIR_ORDERED= + .include diff --git a/gnu/lib/gcc44/Makefile b/gnu/lib/gcc44/Makefile index 369d4209b1..d96af4ce5a 100644 --- a/gnu/lib/gcc44/Makefile +++ b/gnu/lib/gcc44/Makefile @@ -1,5 +1,5 @@ -# Processed in order because SUBDIR_ORDERED is not defined # csu and libgcc are normally built earlier by the _startup_libs44 target +# set SUBDIR_ORDERED to null to maximize parallelism SUBDIR= csu SUBDIR+= libgcc @@ -14,4 +14,6 @@ SUBDIR+= libstdc++ SUBDIR+= libobjc .endif +SUBDIR_ORDERED= + .include diff --git a/gnu/lib/gcc44/libobjc/Makefile b/gnu/lib/gcc44/libobjc/Makefile index 960a714b45..44ed2b4807 100644 --- a/gnu/lib/gcc44/libobjc/Makefile +++ b/gnu/lib/gcc44/libobjc/Makefile @@ -20,7 +20,7 @@ INCS= \ hash.h objc-list.h sarray.h objc.h objc-api.h \ NXConstStr.h Object.h Protocol.h encoding.h typedstream.h \ thr.h objc-decls.h -INCSDIR= ${INCLUDEDIR}/objc +INCSDIR= /usr/libdata/gcc${GCCSHORTVER}/objc SRCS+= unwind.h runtime-info.h diff --git a/gnu/lib/gcc47/Makefile b/gnu/lib/gcc47/Makefile index 3177e02ec8..d9bdd3e783 100644 --- a/gnu/lib/gcc47/Makefile +++ b/gnu/lib/gcc47/Makefile @@ -1,5 +1,5 @@ -# Processed in order because SUBDIR_ORDERED is not defined # csu and libgcc* are normally built earlier by the _startup_libs47 target +# libsupc++ must be built after libstdc++, everything else can be parallel SUBDIR+= csu SUBDIR+= libgcc @@ -13,6 +13,9 @@ SUBDIR+= libgomp .if !defined(NO_CXX) SUBDIR+= libstdc++ SUBDIR+= libsupc++ +SUBDIR_ORDERED= libstdc++ libsupc++ +.else +SUBDIR_ORDERED= .endif .if !defined(NO_OBJC) -- 2.41.0