freebsd-dev/contrib/ntp/scripts/build/genver
Cy Schubert 2b15cb3d09 MFV ntp 4.2.8p1 (r258945, r275970, r276091, r276092, r276093, r278284)
Thanks to roberto for providing pointers to wedge this into HEAD.

Approved by:	roberto
2015-03-30 13:30:15 +00:00

97 lines
1.9 KiB
Bash
Executable File

#! /bin/sh
# possible usage: $0 [-f] [version.m4] [version.def]
#
# -f would be 'force the update'
force=0
outputs=
for i in $*
do
case "$i" in
-f)
force=1
;;
*version.m4)
outputs="m4/version.m4 $outputs"
;;
*version.def)
outputs="include/version.def $outputs"
;;
*version.texi)
outputs="include/version.texi $outputs"
;;
*) echo "Unrecognized option: $i"
exit 1
;;
esac
done
case "$outputs" in
'') outputs="m4/version.m4 include/version.def include/version.texi" ;;
esac
set -e
. ../packageinfo.sh
dversion=`../scripts/build/VersionName -p ../packageinfo.sh`
set +e
# Create intermediate files in $TEMPDIR defaulting it to /tmp
# if not set. This avoids races when multiple builds run in
# parallel on shared source.
TEMPDIR=${TEMPDIR=/tmp}
case "$outputs" in
*version.m4*)
echo "m4_define([VERSION_NUMBER],[${dversion}])" > "${TEMPDIR}/version.m4+"
cmp -s "${TEMPDIR}/version.m4+" m4/version.m4
rc=$?
case "$force$rc" in
00)
rm -f "${TEMPDIR}/version.m4+"
;;
*)
mv "${TEMPDIR}/version.m4+" m4/version.m4
;;
esac
;;
esac
case "$outputs" in
*version.def*)
echo "version = '${dversion}';" > "${TEMPDIR}/version.def+"
cmp -s "${TEMPDIR}/version.def+" include/version.def
rc=$?
case "$force$rc" in
00)
rm -f "${TEMPDIR}/version.def+"
;;
*)
mv "${TEMPDIR}/version.def+" include/version.def
;;
esac
;;
esac
case "$outputs" in
*version.texi*)
echo "@set UPDATED `date +'%d %B %Y'`" > "${TEMPDIR}/version.texi+"
echo "@set EDITION $dversion" >> "${TEMPDIR}/version.texi+"
echo "@set VERSION $dversion" >> "${TEMPDIR}/version.texi+"
cmp -s "${TEMPDIR}/version.texi+" include/version.texi
rc=$?
case "$force$rc" in
00)
rm -f "${TEMPDIR}/version.texi+"
;;
*)
mv "${TEMPDIR}/version.texi+" include/version.texi
;;
esac
;;
esac