blob: cee47e76efd0cbdb0677df093166dd1466f1d8e4 [file] [log] [blame]
Paul Bakker34558732012-11-26 17:18:12 +01001#!/bin/bash
2
3VERSION=""
4SOVERSION=""
5
6# Parse arguments
7#
8until [ -z "$1" ]
9do
10 case "$1" in
11 --version)
12 # Version to use
13 shift
14 VERSION=$1
15 ;;
16 --soversion)
17 shift
18 SOVERSION=$1
19 ;;
20 -v|--verbose)
21 # Be verbose
22 VERBOSE="1"
23 ;;
24 -h|--help)
25 # print help
26 echo "Usage: $0"
27 echo -e " -h|--help\t\t\tPrint this help."
28 echo -e " --version <version>\tVersion to bump to."
29 echo -e " -v|--verbose\t\tVerbose."
30 exit 1
31 ;;
32 *)
33 # print error
34 echo "Unknown argument: '$1'"
35 exit 1
36 ;;
37 esac
38 shift
39done
40
41if [ "X" = "X$VERSION" ];
42then
43 echo "No version specified. Unable to continue."
44 exit 1
45fi
46
47[ $VERBOSE ] && echo "Bumping VERSION in library/CMakeLists.txt"
48sed -e "s/ VERSION [0-9.]\+/ VERSION $VERSION/g" < library/CMakeLists.txt > tmp
49mv tmp library/CMakeLists.txt
50
51if [ "X" != "X$SOVERSION" ];
52then
53 [ $VERBOSE ] && echo "Bumping SOVERSION in library/CMakeLists.txt"
54 sed -e "s/ SOVERSION [0-9]\+/ SOVERSION $SOVERSION/g" < library/CMakeLists.txt > tmp
55 mv tmp library/CMakeLists.txt
56fi
57
58[ $VERBOSE ] && echo "Bumping VERSION in include/polarssl/version.h"
59read MAJOR MINOR PATCH <<<$(IFS="."; echo $VERSION)
60VERSION_NR="$( printf "0x%02X%02X%02X00" $MAJOR $MINOR $PATCH )"
61cat include/polarssl/version.h | \
62 sed -e "s/_VERSION_MAJOR .\+/_VERSION_MAJOR $MAJOR/" | \
63 sed -e "s/_VERSION_MINOR .\+/_VERSION_MINOR $MINOR/" | \
64 sed -e "s/_VERSION_PATCH .\+/_VERSION_PATCH $PATCH/" | \
65 sed -e "s/_VERSION_NUMBER .\+/_VERSION_NUMBER $VERSION_NR/" | \
66 sed -e "s/_VERSION_STRING .\+/_VERSION_STRING \"$VERSION\"/" | \
67 sed -e "s/_VERSION_STRING_FULL .\+/_VERSION_STRING_FULL \"PolarSSL $VERSION\"/" \
68 > tmp
69mv tmp include/polarssl/version.h
70
71[ $VERBOSE ] && echo "Bumping version in tests/suites/test_suite_version.data"
72sed -e "s/version:\".\+/version:\"$VERSION\"/g" < tests/suites/test_suite_version.data > tmp
73mv tmp tests/suites/test_suite_version.data
74
75[ $VERBOSE ] && echo "Bumping PROJECT_NAME in doxygen/polarssl.doxyfile and doxygen/input/doc_mainpage.h"
76for i in doxygen/polarssl.doxyfile doxygen/input/doc_mainpage.h;
77do
78 sed -e "s/PolarSSL v[0-9\.]\+/PolarSSL v$VERSION/g" < $i > tmp
79 mv tmp $i
80done
81