2009-06-10 Zoltan Varga <vargaz@gmail.com>
[mono.git] / libgc / acinclude.m4
blob510967b4f4c47e478716417f8d0260de32b9e825
1
2
3 # THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
4 # OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
5
6 # Permission is hereby granted to use or copy this program
7 # for any purpose,  provided the above notices are retained on all copies.
8 # Permission to modify the code and to distribute modified code is granted,
9 # provided the above notices are retained, and a notice that the code was
10 # modified is included with the above copyright notice.
12 # Modified by: Grzegorz Jakacki <jakacki at acm dot org>
14 # GC_SET_VERSION
15 # sets and AC_DEFINEs GC_VERSION_MAJOR, GC_VERSION_MINOR and GC_ALPHA_VERSION
16 # based on the contents of PACKAGE_VERSION; PACKAGE_VERSION must conform to
17 # [0-9]+[.][0-9]+(alpha[0.9]+)? 
18 # in lex syntax; if there is no alpha number, GC_ALPHA_VERSION is empty
20 AC_DEFUN(GC_SET_VERSION, [
21   AC_MSG_CHECKING(GC version numbers)
22   GC_VERSION_MAJOR=`echo $PACKAGE_VERSION | sed 's/^\([[0-9]][[0-9]]*\)[[.]].*$/\1/g'`
23   GC_VERSION_MINOR=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]]\([[0-9]][[0-9]]*\).*$/\1/g'`
24   GC_ALPHA_VERSION=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]][[0-9]]*//'`
26   case "$GC_ALPHA_VERSION" in
27     alpha*) 
28       GC_ALPHA_VERSION=`echo $GC_ALPHA_VERSION \
29       | sed 's/alpha\([[0-9]][[0-9]]*\)/\1/'` ;;
30     *)  GC_ALPHA_MAJOR='' ;;
31   esac
33   if test :$GC_VERSION_MAJOR: = :: \
34      -o   :$GC_VERSION_MINOR: = :: ;
35   then
36     AC_MSG_RESULT(invalid)
37     AC_MSG_ERROR([nonconforming PACKAGE_VERSION='$PACKAGE_VERSION'])
38   fi
39   
40   AC_DEFINE_UNQUOTED(GC_VERSION_MAJOR, $GC_VERSION_MAJOR)
41   AC_DEFINE_UNQUOTED(GC_VERSION_MINOR, $GC_VERSION_MINOR)
42   if test :$GC_ALPHA_VERSION: != :: ; then
43     AC_DEFINE_UNQUOTED(GC_ALPHA_VERSION, $GC_ALPHA_VERSION)
44   fi
45   AC_MSG_RESULT(major=$GC_VERSION_MAJOR minor=$GC_VERSION_MINOR \
46 ${GC_ALPHA_VERSION:+alpha=}$GC_ALPHA_VERSION)