~ chicken-core (chicken-5) 5be8296e051da543b3caa4625a86f276a5220edd


commit 5be8296e051da543b3caa4625a86f276a5220edd
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Jul 19 22:15:33 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue Jul 19 22:15:33 2011 +0200

    fiddling with build to ensure buildconfig-files are only generated when their content would change

diff --git a/Makefile.mingw b/Makefile.mingw
index 56a159ae..1f075439 100644
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -31,8 +31,6 @@ endif
 
 SEP = $(strip \)
 SRCDIR =.$(SEP)
-BRANCHNAME =
-BUILD_ID =
 
 # platform configuration
 
diff --git a/build-version.scm b/build-version.scm
index 933dffab..f79b4385 100644
--- a/build-version.scm
+++ b/build-version.scm
@@ -1,7 +1,6 @@
 ;;;; build-version.scm
 ;
-; Copyright (c) 2008-2011, The Chicken Team
-; Copyright (c) 2000-2007, Felix L. Winkelmann
+; Copyright (c) 2011, The Chicken Team
 ; All rights reserved.
 ;
 ; Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
@@ -31,13 +30,14 @@
 ;; (read-version filename): Read line from FILENAME and return
 ;; as a string; return #f if non-existent file or blank line.
 (define-syntax read-version
-  (lambda (x r c)
-    (let ((fn (cadr x)))
-      (and (file-exists? fn)
-	   (let ((ver (with-input-from-file (cadr x) read-line)))
-	     (if (string=? ver "")
-		 #f
-		 ver))))))
+  (er-macro-transformer
+   (lambda (x r c)
+     (let ((fn (cadr x)))
+       (and (file-exists? fn)
+	    (let ((ver (with-input-from-file (cadr x) read-line)))
+	      (if (string=? ver "")
+		  #f
+		  ver)))))))
 
 (define ##sys#build-version (read-version "buildversion"))
 (define ##sys#build-tag     (read-version "buildtag"))
diff --git a/buildbinaryversion b/buildbinaryversion
deleted file mode 100644
index 56a6051c..00000000
--- a/buildbinaryversion
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/defaults.make b/defaults.make
index 9b3e0ef5..76f8f581 100644
--- a/defaults.make
+++ b/defaults.make
@@ -43,7 +43,6 @@ SEP ?= /
 SRCDIR ?= .$(SEP)
 DESTDIR ?=
 PREFIX ?= /usr/local
-BRANCHNAME ?= $(shell sh $(SRCDIR)identify-branch.sh $(SRCDIR))
 
 BINDIR = $(PREFIX)/bin
 LIBDIR = $(PREFIX)/lib
@@ -226,18 +225,15 @@ LIBCHICKEN_SO_LIBRARIES ?= $(LIBRARIES)
 
 # other settings
 
-HOSTNAME ?= $(shell hostname)
-
 ifdef WINDOWS_SHELL
 BUILD_TIME ?= $(shell date /t)
 COPY_COMMAND = copy /Y
+HOSTNAME ?= $(shell hostname)
+UNAME_SYS ?= Windows
+BUILD_TAG ?= compiled $(BUILD_TIME) on $(HOSTNAME) ($(UNAME_SYS))
 else
-BUILD_TIME ?= $(shell date +%Y-%m-%d)
-UNAME_SYS ?= $(shell uname)
 COPY_COMMAND = cp
 endif
-BUILD_TAG ?= compiled $(BUILD_TIME) on $(HOSTNAME) ($(UNAME_SYS))
-BUILD_ID ?= $(shell sh $(SRCDIR)identify-revision.sh $(SRCDIR))
 COPYMANY =
 
 
diff --git a/distribution/manifest b/distribution/manifest
index 32a20544..c10fd596 100644
--- a/distribution/manifest
+++ b/distribution/manifest
@@ -6,8 +6,7 @@ LICENSE
 NEWS
 README
 config-arch.sh
-identify-branch.sh
-identify-revision.sh
+identify.sh
 banner.scm
 batch-driver.scm
 batch-driver.c
diff --git a/identify-branch.sh b/identify-branch.sh
deleted file mode 100755
index 89a68f13..00000000
--- a/identify-branch.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-#
-# identify-branch.sh - check for .git directory and obtain branchname (unless "master")
-#
-# usage: identify-branch SOURCEDIR
-
-if test -d "$1/.git"; then
-    branchname=`GIT_DIR="$1/.git" git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
-    case ${branchname} in
-	"") ;;
-	"master") ;;
-	*) echo "${branchname}";;
-    esac
-fi
diff --git a/identify-revision.sh b/identify-revision.sh
deleted file mode 100755
index a7980ea3..00000000
--- a/identify-revision.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-#
-# identify-revision.sh - check for .git directory and obtain checked out revision
-#
-# usage: identify-revision.sh SOURCEDIR
-
-if test -d "$1/.git"; then
-    GIT_DIR="$1/.git" git rev-parse --short HEAD 2>/dev/null
-fi
diff --git a/rules.make b/rules.make
index 16ebe631..95306662 100644
--- a/rules.make
+++ b/rules.make
@@ -18,7 +18,7 @@
 # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 # AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROd	CUREMENT OF SUBSTITUTE GOODS OR
 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
@@ -463,9 +463,9 @@ endif
 
 # build versioning
 
-#.PHONY: buildtag buildbranch buildid
-
 ifdef WINDOWS_SHELL
+.PHONY: buildtag buildbranch buildid
+
 buildtag:
 	echo.$(BUILD_TAG)>buildtag
 buildbranch:
@@ -473,12 +473,14 @@ buildbranch:
 buildid:
 	echo.$(BUILD_ID)>buildid
 else
-buildtag:
-	echo "$(BUILD_TAG)" > buildtag
-buildbranch:
-	echo "$(BRANCHNAME)" > buildbranch
-buildid:
-	echo "$(BUILD_ID)" > buildid
+.PHONY: identify-me
+
+identify-me:
+	sh identify.sh $(SRCDIR)
+
+buildtag: identify-me
+buildbranch: identify-me
+buildid: identify-me
 endif
 
 # bootstrapping c sources
@@ -657,17 +659,6 @@ bench: $(CHICKEN_SHARED_EXECUTABLE) $(CSI_SHARED_EXECUTABLE) $(CSC_PROGRAM)
 	cd tests; echo >>bench.log; date >>bench.log; sh runbench.sh 2>&1 | tee -a bench.log
 
 
-# build current head in sub-directory
-
-.PHONY: buildhead
-
-buildhead:
-	rm -fr chicken-`cat buildversion`
-	git archive --format=tar --prefix=chicken-`cat buildversion`/ $(HEAD) | tar x
-	cd chicken-`cat buildversion`; $(MAKE) -f Makefile.$(PLATFORM) \
-	  PLATFORM=$(PLATFORM) PREFIX=`pwd` CONFIG= CHICKEN=$(CHICKEN) all install
-
-
 # build static bootstrapping chicken
 
 .PHONY: boot-chicken
Trap