annotate src/vamp-plugin-sdk-2.5/build/update-version.sh @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 619f715526df
children
rev   line source
Chris@23 1 #!/bin/bash
Chris@23 2
Chris@23 3 usage() {
Chris@23 4 echo "Usage: $0 <version>"
Chris@23 5 echo " e.g. $0 2.2"
Chris@23 6 echo " e.g. $0 2.2.1"
Chris@23 7 exit 2;
Chris@23 8 }
Chris@23 9
Chris@23 10 version=$1
Chris@23 11 [ -n "$version" ] || usage
Chris@23 12
Chris@23 13 major=${version%%.*} # 2.3 -> 2, 2.3.1 -> 2
Chris@23 14 minor=${version#*.} # 2.3 -> 3, 2.3.1 -> 3.1
Chris@23 15 minor=${minor%.*} # 3 -> 3, 3.1 -> 3
Chris@23 16
Chris@23 17 sdkmajor=$major
Chris@23 18 sdkminor=$minor
Chris@23 19
Chris@23 20 hostmajor=$(($major+1)) # there has been one API change in a minor release
Chris@23 21 hostminor=$minor
Chris@23 22
Chris@23 23 acs="`echo $version | tr '.' '_'`"
Chris@23 24
Chris@23 25 echo "Major version = $major, minor version = $minor"
Chris@23 26 echo "SDK current = $sdkmajor, age = $sdkminor"
Chris@23 27 echo "Host SDK current = $hostmajor, age = $hostminor"
Chris@23 28 echo "Version string = $version"
Chris@23 29 echo "acsymbols string = $acs"
Chris@23 30
Chris@23 31 p="perl -i -p -e"
Chris@23 32
Chris@23 33 $p 's/(This is version) [^ ]+/$1 '$version'/' \
Chris@23 34 README
Chris@23 35
Chris@23 36 $p 's/(AC_INIT\(vamp-plugin-sdk,) [^,]+,/$1 '$version',/' \
Chris@23 37 configure.ac
Chris@23 38
Chris@23 39 $p 's/(INSTALL_SDK_LIBNAME\s*=\s*libvamp-sdk.so).*/$1.'$sdkmajor'.'$sdkminor'.0/' \
Chris@23 40 Makefile.in
Chris@23 41
Chris@23 42 $p 's/(INSTALL_SDK_LINK_ABI\s*=\s*libvamp-sdk.so).*/$1.'$sdkmajor'/' \
Chris@23 43 Makefile.in
Chris@23 44
Chris@23 45 $p 's/(current)=.*/$1='$sdkmajor'/' \
Chris@23 46 build/libvamp-sdk.la.in
Chris@23 47
Chris@23 48 $p 's/(age)=.*/$1='$sdkminor'/' \
Chris@23 49 build/libvamp-sdk.la.in
Chris@23 50
Chris@23 51 $p 's/(INSTALL_HOSTSDK_LIBNAME\s*=\s*libvamp-hostsdk.so).*/$1.'$hostmajor'.'$hostminor'.0/' \
Chris@23 52 Makefile.in
Chris@23 53
Chris@23 54 $p 's/(INSTALL_HOSTSDK_LINK_ABI\s*=\s*libvamp-hostsdk.so).*/$1.'$hostmajor'/' \
Chris@23 55 Makefile.in
Chris@23 56
Chris@23 57 $p 's/(current)=.*/$1='$hostmajor'/' \
Chris@23 58 build/libvamp-hostsdk.la.in
Chris@23 59
Chris@23 60 $p 's/(age)=.*/$1='$hostminor'/' \
Chris@23 61 build/libvamp-hostsdk.la.in
Chris@23 62
Chris@23 63 $p 's/(PROJECT_NUMBER[^=]*)=.*/$1= '$version'/' \
Chris@23 64 build/Doxyfile
Chris@23 65
Chris@23 66 $p 's/(VAMP_API_VERSION).*/$1 '$major'/' \
Chris@23 67 vamp/vamp.h
Chris@23 68
Chris@23 69 $p 's/(VAMP_SDK_VERSION) +"[^"]*"/$1 "'$version'"/' \
Chris@23 70 vamp-sdk/plugguard.h
Chris@23 71
Chris@23 72 $p 's/(VAMP_SDK_MAJOR_VERSION).*/$1 '$major'/' \
Chris@23 73 vamp-sdk/plugguard.h
Chris@23 74
Chris@23 75 $p 's/(VAMP_SDK_MINOR_VERSION).*/$1 '$minor'/' \
Chris@23 76 vamp-sdk/plugguard.h
Chris@23 77
Chris@23 78 $p 's/(VAMP_SDK_VERSION) +"[^"]*"/$1 "'$version'"/' \
Chris@23 79 vamp-hostsdk/hostguard.h
Chris@23 80
Chris@23 81 $p 's/(VAMP_SDK_MAJOR_VERSION).*/$1 '$major'/' \
Chris@23 82 vamp-hostsdk/hostguard.h
Chris@23 83
Chris@23 84 $p 's/(VAMP_SDK_MINOR_VERSION).*/$1 '$minor'/' \
Chris@23 85 vamp-hostsdk/hostguard.h
Chris@23 86
Chris@23 87 $p 's/(VAMP_SDK_MAJOR_VERSION !=) [\d\.]+/$1 '$major'/' \
Chris@23 88 src/vamp-sdk/FFT.cpp
Chris@23 89
Chris@23 90 $p 's/(VAMP_SDK_MINOR_VERSION !=) [\d\.]+/$1 '$minor'/' \
Chris@23 91 src/vamp-sdk/FFT.cpp
Chris@23 92
Chris@23 93 $p 's/(VAMP_SDK_MAJOR_VERSION !=) [\d\.]+/$1 '$major'/' \
Chris@23 94 src/vamp-sdk/PluginAdapter.cpp
Chris@23 95
Chris@23 96 $p 's/(VAMP_SDK_MINOR_VERSION !=) [\d\.]+/$1 '$minor'/' \
Chris@23 97 src/vamp-sdk/PluginAdapter.cpp
Chris@23 98
Chris@23 99 $p 's/(VAMP_SDK_MAJOR_VERSION !=) [\d\.]+/$1 '$major'/' \
Chris@23 100 src/vamp-hostsdk/PluginHostAdapter.cpp
Chris@23 101
Chris@23 102 $p 's/(VAMP_SDK_MINOR_VERSION !=) [\d\.]+/$1 '$minor'/' \
Chris@23 103 src/vamp-hostsdk/PluginHostAdapter.cpp
Chris@23 104
Chris@23 105 for pc in pkgconfig/*.pc.in ; do
Chris@23 106 $p 's/(Version:) .*/$1 '$version'/' $pc
Chris@23 107 done
Chris@23 108
Chris@23 109 fgrep -q 'libvampsdk_v_'$acs'_present' src/vamp-sdk/acsymbols.c || \
Chris@23 110 $p 's/^$/\nextern void libvampsdk_v_'$acs'_present(void) { }/' \
Chris@23 111 src/vamp-sdk/acsymbols.c
Chris@23 112
Chris@23 113 fgrep -q 'libvamphostsdk_v_'$acs'_present' src/vamp-hostsdk/acsymbols.c || \
Chris@23 114 $p 's/^$/\nextern void libvamphostsdk_v_'$acs'_present(void) { }/' \
Chris@23 115 src/vamp-hostsdk/acsymbols.c
Chris@23 116
Chris@23 117 echo "Done, now check with e.g. hg diff -- and don't forget to update CHANGELOG"