[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #631: Enhance banner to include git hash, ensure buil

From: Chicken Trac
Subject: [Chicken-janitors] #631: Enhance banner to include git hash, ensure build info is current
Date: Sat, 02 Jul 2011 21:43:22 -0000

#631: Enhance banner to include git hash, ensure build info is current
 Reporter:  zbigniew           |       Owner:       
     Type:  enhancement        |      Status:  new  
 Priority:  not urgent at all  |   Milestone:  4.8.0
Component:  unknown            |     Version:  4.7.x
 Keywords:                     |  
 The attached patches make the build tag, build branch, and build version
 available as {{{##sys#build-*}}} variables in unit build-version, as well
 as the current build revision (git hash of HEAD).  Furthermore, unit
 build-version is rebuilt with every make, ensuring that the versions are
 always current, even if you simply switch branches or make a small commit.
 Finally, unit library uses these new variables to generate the banner, and
 version.scm is removed.

 I could rewrite this patch without unit build-version if desired, instead
 forcing library.scm to be rebuilt with every {{{make}}}.  However, note
 there is a significant build time impact.  For example, ''ckeen'' found
 that it takes almost 1 minute to build library.scm versus 2 seconds to
 build build-version.scm, which would happen in every single rebuild --
 regardless of whether library.scm was actually modified.

 This patch has been tested on OS X, Mingw (no msys), and OpenBSD.

 I have also ensured that {{{make buildhead}}} and {{{}}}
 continue to work correctly. Furthermore, if you do not have git installed,
 or if you are not building from a git checkout, the information is simply
 omitted from the banner.

 Comments on the implementation are appreciated.

 (These commits are also available from
 core-zb in branch zb/ver3.)

Ticket URL: <>
Chicken Scheme <>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]