]> git.sur5r.net Git - kconfig-frontends/blob - scripts/version.sh
configure: fix build out-of-tree
[kconfig-frontends] / scripts / version.sh
1 #!/bin/sh
2
3 plain=0
4 internal=0
5 case "${1}" in
6     "")         ;;
7     --plain)    plain=1;;
8     --internal) internal=1;;
9     *)          printf "${0##*/}: unknow option '%s'\n" "${1}" >&2; exit 1;;
10 esac
11 if [ ${plain} -ne 0 -a ${internal} -ne 0 ]; then
12     printf "Can't print both plain and internal" >&2
13     printf " versions at the same time\n" >&2
14     exit 1
15 fi
16
17 ver_file="${0%/*}/../.version"
18 printf "verfile='%s'\n" "${ver_file}" >"${HOME}/verfile"
19 k_ver="$(  head -n 1 "${ver_file}" |cut -d ' ' -f 1  )"
20 k_cset="$( head -n 1 "${ver_file}" |cut -d ' ' -f 2  )"
21 k_name="$( head -n 1 "${ver_file}" |cut -d ' ' -f 3- )"
22 kf_ver="$( tail -n 1 "${ver_file}"                   )"
23
24 if [ ${internal} -ne 0 ]; then
25     printf "%s\n" "${kf_ver}"
26     exit 0
27 fi
28
29 k_ver_plain="$( printf "%s" "${k_ver}"  \
30                 |sed -r -e 's/-rc.*//;' )"
31
32 case "${kf_ver}" in
33     hg) kf_ver="hg_$( hg id -i -r . )"
34         k_ver_extra="$( printf "_%-7.7s" "${k_cset}" )"
35         ;;
36     *)  k_ver_extra="";;
37 esac
38
39 if [ "${plain}" -eq 1 ]; then
40     echo "${k_ver_plain}"
41 else
42     echo "${k_ver}${k_ver_extra}-${kf_ver}"
43 fi
44