#!/bin/sh
#| -*- Scheme -*-
exec chicken-setup -s $0 "$@"
|#
;;;; nextbuild - Bump version-number

(define buildnumber (car (read-file "buildnumber")))
(define buildversion (car (read-file "buildversion")))
(define buildbinaryversion (car (read-file "buildbinaryversion")))

(define files 
  '("README" 
    "chicken.texi") )

(define (main args)
  (unless (member "-noinc" args)
    (set! buildnumber (add1 buildnumber))
    (with-output-to-file "buildnumber" (cut write buildnumber)) )
  (with-output-to-file "build.scm" 
    (lambda ()
      (write `(define build-version ,buildversion))
      (newline)
      (write `(define build-number ,buildnumber)) 
      (newline) ) )
  (run (cat build.scm))
  (let ([vstr (sprintf "Version ~A, Build ~A" buildversion buildnumber)])
    (for-each (cut patch <> "Version [0-9]+, Build [0-9]+" vstr) files) )
  (patch "configure.in" "AC_INIT\\(chicken,[0-9.]+\\)" 
	 (sprintf "AC_INIT(chicken,~A.~A)\nBINARY_VERSION=~A"
		  buildversion buildnumber buildbinaryversion))
  (run (echo ,(conc "- version is " buildversion "." buildnumber) >>DONE))
  0)

(main (command-line-arguments))
