From 0ebfa6464b9987b5bd2a084872f7511625647391 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 30 Aug 2016 22:44:36 +0100 Subject: Merge makebuildenv.pl and makeparcels.pl, write monolithic Makefiles. This is necessary to fix compilation on machines with large numbers of cores (e.g. Travis build workers) because the build system automatically attempts maximum parallelism, and the old one is broken and tries to build multiple libraries simultaneously. The new buildsystem almost entirely avoids recursive Make: only trivial Makefiles in target directories (which invoke the top-level Makefile to build the appropriate output file) and the old docs makefile are not part of the new master Makefile. Due to higher parallelism and better dependency checking, Make should be much faster now. Not all old targets are supported though. I've removed implicit dependencies hard-coded in the build system, and expressed all dependencies in modules.txt, since the implicit dependencies were confusing, obscure and unnecessary, and it was hard to express their own dependencies on each other. Test both the default target and explicitly "parcels" for release builds on Travis. --- modules.txt | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'modules.txt') diff --git a/modules.txt b/modules.txt index 71ae16fd..4fd27a2d 100644 --- a/modules.txt +++ b/modules.txt @@ -7,15 +7,20 @@ # -l libaries must be in the order they should appear on the command line. # Note that order is important on platforms which do not have shared libraries. +# QDBM is currently built from a copy distributed in-tree, which we need to fix. +qdbm + # Generic support code and modules -lib/raidfile -lib/crypto +lib/win32 +lib/common lib/win32 +lib/raidfile lib/common +lib/crypto lib/common lib/server qdbm lib/crypto -lib/compress -lib/intercept +lib/compress lib/common +lib/intercept lib/common -test/common qdbm +test/common qdbm lib/common test/crypto qdbm lib/crypto test/compress qdbm lib/compress test/raidfile qdbm lib/raidfile lib/intercept @@ -38,11 +43,11 @@ bin/bbackupd lib/bbackupd bin/bbackupquery lib/bbackupquery bin/bbackupctl lib/backupclient qdbm lib/bbackupd -test/backupstore bin/bbstored bin/bbstoreaccounts lib/server lib/backupstore lib/backupclient lib/raidfile +test/backupstore bin/bbstored bin/bbstoreaccounts lib/backupclient lib/raidfile test/backupstorefix bin/bbstored bin/bbstoreaccounts lib/backupclient bin/bbackupquery bin/bbackupd bin/bbackupctl test/backupstorepatch bin/bbstored bin/bbstoreaccounts lib/backupclient test/backupdiff lib/backupclient -test/bbackupd bin/bbackupd bin/bbstored bin/bbstoreaccounts bin/bbackupquery bin/bbackupctl lib/bbackupquery lib/bbackupd lib/server lib/backupstore lib/backupclient lib/intercept lib/bbstored +test/bbackupd bin/bbackupd bin/bbstored bin/bbstoreaccounts bin/bbackupquery bin/bbackupctl lib/bbackupquery lib/bbackupd lib/bbstored lib/server lib/intercept bin/s3simulator lib/httpserver test/s3store lib/backupclient lib/httpserver bin/s3simulator bin/bbstoreaccounts -- cgit v1.2.3