Changes between Version 4 and Version 5 of PlanningWiki/BuildSystem


Ignore:
Timestamp:
03/27/14 02:40:42 (5 years ago)
Author:
myshkin
Comment:

Additional information and link dump.

Legend:

Unmodified
Added
Removed
Modified
  • PlanningWiki/BuildSystem

    v4 v5  
    1 Requirements for a better buildsystem: 
     1== Requirements for a better buildsystem == 
    22 
    33- be usable without autoconf 
     
    2626      mk/buildsys.mk          Makefile.src <------------------------' 
    2727}}} 
     28 
     29== Build system design == 
     30 
     31The existing configure/make/package system relies on autoconf and atheme's buildsys. Unfortunately, documentation for the latter is scant. See [http://angband.oook.cz/forum/showthread.php?t=4559 an oook thread] discussing it, or atheme's [https://github.com/atheme/buildsys github repository] for buildsys. Note that Angband forked from atheme, which in turn forked from [https://webkeks.org/git?p=buildsys.git;a=summary Midar] (Jonathan Schleifer). Aerdan brought in buildsys in June 2009, and merged from atheme in August 2011. It is definitely reliant on GNU make extensions, and most likely cannot be made portable to other makes without extreme effort, if at all. 
     32 
     33Some documents of note: 
     34- A [http://www.freebsd.org/doc/en/books/pmake/ tutorial] on FreeBSD's pmake, as reasonable a representative of the BSD make family as any. See also [http://www.crufty.net/help/sjg/bmake.html bmake], theoretically a portable version of NetBSD's make. 
     35- [http://miller.emu.id.au/pmiller/books/rmch/ Recursive Make Considered Harmful] and a [http://evbergen.home.xs4all.nl/nonrecursive-make.html sample implementation] of a non-recursive Makefile scheme. We definitely have problems with slow dependency detection at present. CMCrossroads has a couple more articles on [http://www.cmcrossroads.com/article/painless-non-recursive-make non-recursive make] and [http://www.cmcrossroads.com/article/tips-and-tricks-automatic-dependency-generation-masters dependency generation], too. 
     36 
     37 
     38== Buildbot == 
     39 
     40Todos: 
     41- document how buildbot works, including slave dependencies (rst, sqlite, doxygen, ncursesw, SDL) 
     42- extract the doxygen build step from the Linux builder and create a utility builder that runs doxygen, builds and runs stats, etc.