Wednesday, June 27, 2012

Episode 16: Build Automation


Download

News
Tool of the Biweek

Build Automation

History
  • Makefile processors
    • make (BSD) / gnumake
  • Makefile code generators
    • automake / qmake / cmake / premake
  • Ant & Maven
  • IDE Projects 


Features
  • Dependency listing
  • Flags for OS & compiler specific features
    • Optimizations, threading libraries, etc.
  • Conditional logic for different builds
    • FFMpeg: build regular or patent-free (no MPEG-4)

Strengths
  • Keeping the build process organized
  • Calculating transitive closure of dependencies
  • Parallelizing & Distributing build commands (http://www.distcc.org)

Weaknesses
  • Inherent Complexity
  • Obscured errors “Error 1” (various levels of verbosity)
  • "Black Magic"

Tools
  • GNU Automake
  • CMake
  • imake
  • qmake
  • nmake
  • Apache Ant
  • Apache Maven
  • Premake

Uses
  • Continuous Integration
  • Source-based package management systems (Macports, Gentoo, deb-src)

5 comments:

  1. Hey guys! I was wondering if maybe you'd do a show about FORTRAN or Perl, maybe some of the older languages (perhaps ALGOL, PL/I, etc), because I'm fascinated by the history of programming. Great series, guys!

    ReplyDelete
  2. SCons (like make and cmake) and Jenkins (continuous integration) are cool.

    ReplyDelete
  3. To reach the intended result, business need adequate planning from the start. Check out the benefits of selling on amazon for the most options. You may increase your revenues by partnering with NXTAMZ.

    ReplyDelete