[Box Backup-commit] [boxbackup/boxbackup] f8b635: Merge makebuildenv.pl and makeparcels.pl, write mo...

GitHub noreply at github.com
Tue Aug 30 23:13:18 BST 2016


  Branch: refs/heads/cmake_merge
  Home:   https://github.com/boxbackup/boxbackup
  Commit: f8b635bd0f55a9bb09492b29897e2aa3b803acff
      https://github.com/boxbackup/boxbackup/commit/f8b635bd0f55a9bb09492b29897e2aa3b803acff
  Author: Chris Wilson <chris+github at qwirx.com>
  Date:   2016-08-30 (Tue, 30 Aug 2016)

  Changed paths:
    M configure.ac
    M infrastructure/cmake/CMakeLists.txt
    M infrastructure/makebuildenv.pl.in
    R infrastructure/makeparcels.pl.in
    M modules.txt

  Log Message:
  -----------
  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.




More information about the Boxbackup-commit mailing list