[syslog-ng] [PATCH (3.5)]: Build system reimagined
Gergely Nagy
algernon at balabit.hu
Mon Apr 22 12:01:37 CEST 2013
Hi!
The patch mentioned in the subject is far too big to include here (58
files changed, 1407 insertions(+), 890 deletions(-)), please see the
feature/3.5/build-system-reorg[1] branch in my github repo.
[1]: https://github.com/algernon/syslog-ng/commits/feature/3.5/build-system-reorg
commit 7b3afe7a17685817e228b80d3da4cb95a35bec77
Author: Gergely Nagy <algernon at balabit.hu>
Date: Mon Apr 22 11:31:29 2013 +0200
Build system reimagined
This is a huge change, one that cannot be sensibly broken up into
smaller pieces, so please bear with me! The purpose of the complete
rewrite of the build system is to get rid of recursive make calls, and
instead, use a single, non-recursive Makefile built up from multiple
included parts, that has all the dependency information, therefore
providing a much more robust dependency tracking, which is also
significantly faster.
For the sake of convenience, the Mk/populater-makefiles.sh script will
add wrapper Makefiles to every directory that has a Makefile.am (unless
it belongs to a third party library), allowing one to restrict 'make
all' and 'make check' to a particular directory. The 'make check'
provided by this convenience Makefile does not recurse into
subdirectories, however.
The system also provides shortcuts to build various parts of syslog-ng:
- make syslog-ng
- make mod-sql mod-mongodb mod-socket
- etc
Signed-off-by: Gergely Nagy <algernon at balabit.hu>
As said in the commit message itself, the main driving force behind the
change is far better dependency tracking (which also brings us
significant compile speed increase). I believe that while this is a huge
change, and does have some drawbacks (the need for
Mk/populate-makefiles.sh, for example), not having to play nasty tricks
with SUBDIRS is already worth it: I've seen that break far too many
times in the not too distant past, and the dependency tracking the new
system brings gets rid of those problems pretty much forever.
Comments, criticism, review and all that is more than welcome.
--
|8]
More information about the syslog-ng
mailing list