From c6673b96a59e38031da6654580250bbc58766cfd Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 26 May 2013 23:11:03 +1000 Subject: build: Remove binaries and libraries build groups Build groups are used in Samba to ensure that even if the dependency chain for a target is not perfect, that it builds reliably. This matters most in the early build stages, where we are building the asn1 compiler and autogenerating files. Once we get to the main stage, dependencies between C files, libraries and binaries are much clearer, because the C compiler and linker takes these as inputs anyway. Groups were added to our waf build for stability during early development, as dependency information was first imported from the previous autoconf/perl based build system. I don't think we need this distinction in the main build of C files into .o, and when linking these into binaries, because the invocation of these tools is very well defined, and we will find any missing inputs very quickly. As such, I've removed the libraries and binaries targets, consolidating them with 'main' By making this change, a build of smbtorture only on a clean tree drops from 3778 to 2489 targets, and much of the expensive linker stage is skipped. The time for a null build of smbtorture only also drops from 4.673s to as low as 2.499s on my laptop. Andrew Bartlett Reviewed-by: Jelmer Vernooij --- buildtools/wafsamba/wafsamba.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'buildtools') diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 3559cc196f..2ef68b1123 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -110,7 +110,7 @@ def SAMBA_LIBRARY(bld, libname, source, realname=None, autoproto=None, autoproto_extra_source='', - group='libraries', + group='main', depends_on='', local_include=True, global_include=True, @@ -306,7 +306,7 @@ def SAMBA_BINARY(bld, binname, source, use_hostcc=False, use_global_deps=True, compiler=None, - group='binaries', + group='main', manpages=None, local_include=True, global_include=True, @@ -629,8 +629,6 @@ def SETUP_BUILD_GROUPS(bld): bld.add_group('headers') bld.add_group('main') bld.add_group('symbolcheck') - bld.add_group('libraries') - bld.add_group('binaries') bld.add_group('syslibcheck') bld.add_group('final') Build.BuildContext.SETUP_BUILD_GROUPS = SETUP_BUILD_GROUPS -- cgit