1*2b15cb3dSCy Schubert#! /bin/sh 2*2b15cb3dSCy Schubert 3*2b15cb3dSCy Schubert# possible usage: $0 [-f] [version.m4] [version.def] 4*2b15cb3dSCy Schubert# 5*2b15cb3dSCy Schubert# -f would be 'force the update' 6*2b15cb3dSCy Schubert 7*2b15cb3dSCy Schubertforce=0 8*2b15cb3dSCy Schubertoutputs= 9*2b15cb3dSCy Schubertfor i in $* 10*2b15cb3dSCy Schubertdo 11*2b15cb3dSCy Schubert case "$i" in 12*2b15cb3dSCy Schubert -f) 13*2b15cb3dSCy Schubert force=1 14*2b15cb3dSCy Schubert ;; 15*2b15cb3dSCy Schubert *version.m4) 16*2b15cb3dSCy Schubert outputs="m4/version.m4 $outputs" 17*2b15cb3dSCy Schubert ;; 18*2b15cb3dSCy Schubert *version.def) 19*2b15cb3dSCy Schubert outputs="include/version.def $outputs" 20*2b15cb3dSCy Schubert ;; 21*2b15cb3dSCy Schubert *version.texi) 22*2b15cb3dSCy Schubert outputs="include/version.texi $outputs" 23*2b15cb3dSCy Schubert ;; 24*2b15cb3dSCy Schubert *) echo "Unrecognized option: $i" 25*2b15cb3dSCy Schubert exit 1 26*2b15cb3dSCy Schubert ;; 27*2b15cb3dSCy Schubert esac 28*2b15cb3dSCy Schubertdone 29*2b15cb3dSCy Schubert 30*2b15cb3dSCy Schubertcase "$outputs" in 31*2b15cb3dSCy Schubert '') outputs="m4/version.m4 include/version.def include/version.texi" ;; 32*2b15cb3dSCy Schubertesac 33*2b15cb3dSCy Schubert 34*2b15cb3dSCy Schubertset -e 35*2b15cb3dSCy Schubert 36*2b15cb3dSCy Schubert. ../packageinfo.sh 37*2b15cb3dSCy Schubert 38*2b15cb3dSCy Schubertdversion=`../scripts/build/VersionName -p ../packageinfo.sh` 39*2b15cb3dSCy Schubert 40*2b15cb3dSCy Schubertset +e 41*2b15cb3dSCy Schubert 42*2b15cb3dSCy Schubert# Create intermediate files in $TEMPDIR defaulting it to /tmp 43*2b15cb3dSCy Schubert# if not set. This avoids races when multiple builds run in 44*2b15cb3dSCy Schubert# parallel on shared source. 45*2b15cb3dSCy Schubert 46*2b15cb3dSCy SchubertTEMPDIR=${TEMPDIR=/tmp} 47*2b15cb3dSCy Schubert 48*2b15cb3dSCy Schubertcase "$outputs" in 49*2b15cb3dSCy Schubert *version.m4*) 50*2b15cb3dSCy Schubert echo "m4_define([VERSION_NUMBER],[${dversion}])" > "${TEMPDIR}/version.m4+" 51*2b15cb3dSCy Schubert cmp -s "${TEMPDIR}/version.m4+" m4/version.m4 52*2b15cb3dSCy Schubert rc=$? 53*2b15cb3dSCy Schubert case "$force$rc" in 54*2b15cb3dSCy Schubert 00) 55*2b15cb3dSCy Schubert rm -f "${TEMPDIR}/version.m4+" 56*2b15cb3dSCy Schubert ;; 57*2b15cb3dSCy Schubert *) 58*2b15cb3dSCy Schubert mv "${TEMPDIR}/version.m4+" m4/version.m4 59*2b15cb3dSCy Schubert ;; 60*2b15cb3dSCy Schubert esac 61*2b15cb3dSCy Schubert ;; 62*2b15cb3dSCy Schubertesac 63*2b15cb3dSCy Schubert 64*2b15cb3dSCy Schubertcase "$outputs" in 65*2b15cb3dSCy Schubert *version.def*) 66*2b15cb3dSCy Schubert echo "version = '${dversion}';" > "${TEMPDIR}/version.def+" 67*2b15cb3dSCy Schubert cmp -s "${TEMPDIR}/version.def+" include/version.def 68*2b15cb3dSCy Schubert rc=$? 69*2b15cb3dSCy Schubert case "$force$rc" in 70*2b15cb3dSCy Schubert 00) 71*2b15cb3dSCy Schubert rm -f "${TEMPDIR}/version.def+" 72*2b15cb3dSCy Schubert ;; 73*2b15cb3dSCy Schubert *) 74*2b15cb3dSCy Schubert mv "${TEMPDIR}/version.def+" include/version.def 75*2b15cb3dSCy Schubert ;; 76*2b15cb3dSCy Schubert esac 77*2b15cb3dSCy Schubert ;; 78*2b15cb3dSCy Schubertesac 79*2b15cb3dSCy Schubert 80*2b15cb3dSCy Schubertcase "$outputs" in 81*2b15cb3dSCy Schubert *version.texi*) 82*2b15cb3dSCy Schubert echo "@set UPDATED `date +'%d %B %Y'`" > "${TEMPDIR}/version.texi+" 83*2b15cb3dSCy Schubert echo "@set EDITION $dversion" >> "${TEMPDIR}/version.texi+" 84*2b15cb3dSCy Schubert echo "@set VERSION $dversion" >> "${TEMPDIR}/version.texi+" 85*2b15cb3dSCy Schubert cmp -s "${TEMPDIR}/version.texi+" include/version.texi 86*2b15cb3dSCy Schubert rc=$? 87*2b15cb3dSCy Schubert case "$force$rc" in 88*2b15cb3dSCy Schubert 00) 89*2b15cb3dSCy Schubert rm -f "${TEMPDIR}/version.texi+" 90*2b15cb3dSCy Schubert ;; 91*2b15cb3dSCy Schubert *) 92*2b15cb3dSCy Schubert mv "${TEMPDIR}/version.texi+" include/version.texi 93*2b15cb3dSCy Schubert ;; 94*2b15cb3dSCy Schubert esac 95*2b15cb3dSCy Schubert ;; 96*2b15cb3dSCy Schubertesac 97