diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-10-10 22:59:33 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-10-10 22:59:33 +0000 |
commit | 35187604cef84864a908972d07361a5bd57e29ca (patch) | |
tree | dc95a8b1abeabd3a466729056ab8d37aaa6e72ea /dists/autogen/m4/ax_extract_version.m4 | |
parent | 58c1daf3692d4c5c534750a4fda97e087b0f0cbb (diff) | |
parent | 02bd10f0798829ab69d2028b988cb2a54eae292a (diff) | |
download | usdx-svn/1.1.tar.gz usdx-svn/1.1.tar.xz usdx-svn/1.1.zip |
rename trunk to 1.1svn/1.1github/svn/1.1
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.1@2662 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'dists/autogen/m4/ax_extract_version.m4')
-rw-r--r-- | dists/autogen/m4/ax_extract_version.m4 | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/dists/autogen/m4/ax_extract_version.m4 b/dists/autogen/m4/ax_extract_version.m4 new file mode 100644 index 00000000..c514e3c3 --- /dev/null +++ b/dists/autogen/m4/ax_extract_version.m4 @@ -0,0 +1,58 @@ +# This file is part of UltraStar Deluxe +# Created by the UltraStar Deluxe Team + +# SYNOPSIS +# +# AX_EXTRACT_VERSION(VARIABLE_PREFIX, VERSION) +# +# DESCRIPTION +# +# Splits a version number ("major.minor.release") into its components. +# The resulting components of the version are guaranteed to be +# numeric. All non-numeric chars are removed. +# +# Sets +# [$VARIABLE_PREFIX]_VERSION_MAJOR +# [$VARIABLE_PREFIX]_VERSION_MINOR +# [$VARIABLE_PREFIX]_VERSION_RELEASE +# +# This function calls +# AC_SUBST([$VARIABLE_PREFIX]_VERSION_type] for each type + +AC_DEFUN([AX_EXTRACT_VERSION], +[ + version=[$2] + + # strip leading non-numeric tokens + # (necessary for some ffmpeg-packages in ubuntu) + # example: 0d.51.1.0 -> 51.1.0 + version=`echo $version | sed 's/^[[^.]]*[[^0-9.]][[^.]]*\.//'` + + # replace "." and "-" with " " and ignore trailing tokens. + # 1.23.4-r2 will be splitted to [maj=1, min=23, rel=4]. + # In addition we delete everything after the first character + # which is not 0-9. + # 1.3a4-r32 will be [maj=1, min=3, rel=0]. + read major minor release ignore <<eof + `echo $version | tr '.-' ' ' | sed 's/[[^0-9\ ]].*//'` +eof + # Note: Do NOT indent the eof-delimiter + # We use a here-document (<<< here-strings not POSIX compatible) + + test -z $major && major=0 + test -z $minor && minor=0 + test -z $release && release=0 + + # strip preceding 0s and set unset version-parts to 0 + [$1][_VERSION_MAJOR]=$(($major)) + [$1][_VERSION_MINOR]=$(($minor)) + [$1][_VERSION_RELEASE]=$(($release)) + # integer representation: MMMmmmrrr (M:major,m:minor,r:release) + # can be used if pkg-config's comparison fails + [$1][_VERSION_INT]=$(($[$1][_VERSION_MAJOR]*1000000+$[$1][_VERSION_MINOR]*1000+$[$1][_VERSION_RELEASE])) + + AC_SUBST([$1][_VERSION_MAJOR]) + AC_SUBST([$1][_VERSION_MINOR]) + AC_SUBST([$1][_VERSION_RELEASE]) + AC_SUBST([$1][_VERSION_INT]) +]) |