https://github.com/linbox-team/fflas-ffpack
Tip revision: 88df91118cc69a95dd7cd9e1eeafb8e1bddd99ba authored by Clément Pernet on 09 May 2019, 20:25:10 UTC
Update fflas-ffpack-config.h
Update fflas-ffpack-config.h
Tip revision: 88df911
incremente-versions
#!/bin/csh -f
# Copyright (c) 2011 FFLAS-FFPACK
# written by Brice Boyer (briceboyer) <boyer.brice@gmail.com>
# adapted from LinBox configuration
#
# ========LICENCE========
# This file is part of the library FFLAS-FFPACK.
#
# FFLAS-FFPACK is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# ========LICENCE========
#/
set conf = configure.ac
set ver = Makefile.am
#verbatim second argument of AC_INIT
set verb = `grep ^AC_INIT $conf | cut -d',' -f2`
#removes spaces and brackets
set vern = `echo "$verb" | sed 's/ //g;s/\[//;s/\]//'`
echo "Current version is $vern."
echo -n "Increment library version ? (y/n)"
set answ = $<
if ("$answ" == "y") then
set line = `fgrep -n ^AC_INIT $conf | cut -d':' -f1` #gets the line
set macro = `echo "$vern" | cut -d'.' -f1` #a version number is macro.minor.micro
set minor = `echo "$vern" | cut -d'.' -f2`
set micro = `echo "$vern" | cut -d'.' -f3`
set tmpfile = `mktemp` #tempfile
set sedfile = `mktemp` #temp sed file
set pmicro = `echo $micro`
@ pmicro ++
set pminor = `echo $minor`
@ pminor ++
set pmacro = `echo $macro`
@ pmacro ++
echo "Increment micro revision number ($vern -> $macro.$minor.$pmicro) ? press '0' "
echo "Increment minor revision number ($vern -> $macro.$pminor.0) ? press '1' "
echo -n "Increment macro revision number ($vern -> $pmacro.0.0) ? press '2' "
set increm = $<
switch ($increm)
case 0:
set newv = "[$macro.$minor.$pmicro]"
breaksw
case 1:
set newv = "[$macro.$pminor.0]"
breaksw
case 2:
set newv = "[$pmacro.0.0]"
breaksw
default:
set newv = "$verb"
echo "'$increm' read. Not incrementing anything."
breaksw
endsw
#replacing [ ] and . with escaped version for sed would understand them as 'operators'
echo "$line s/$verb/$newv/" | sed 's/\./\\\./g;s/\[/\\\[/g;s/\]/\\\]/g' > $sedfile
sed -f $sedfile $conf > $tmpfile
#clean up
\rm -f $sedfile
#diff for changes
diff -u0 $conf $tmpfile
#if something was changed, confirm incrementation :
if ("$newv" != "$verb") then
echo -n "Confirmation of incrementation ? (yes/no)"
set answ = $<
set backupconf = $conf.back$$
if ("$answ" == "yes") then
\cp -p $conf $backupconf
echo "Back-up of $conf made in $backupconf. Now overwriting $conf."
\mv -f $tmpfile $conf
else
echo "'$answ' read. Not incrementing anything."
\rm -f $tmpfile
exit 0 ;
endif
#now change Makefile accordingly
echo -n "Incrementing Makefile revision accordingly"
set tmpfile = `mktemp` #tempfile
set sedfile = `mktemp` #tempfile
switch ($increm)
case 0:
echo -n "s/VERSION.*/VERSION=$macro.$minor.$pmicro/" >> $sedfile
breaksw
case 1:
echo "s/VERSION.*/VERSION=$macro.$pminor.0/" > $sedfile
breaksw
case 2:
echo "s/VERSION.*/VERSION=$pmacro.0.0/" > $sedfile
breaksw
default:
echo "Something abnormal happened"
exit 1
breaksw
endsw
sed -f $sedfile $ver > $tmpfile
\rm -f $sedfile
diff -u0 $ver $tmpfile
echo -n "Confirmation of incrementation ? (yes/no) "
set answ = $<
if ("$answ" == "yes") then
\mv -f $tmpfile $ver
echo " your old $conf is destroyed..."
\rm -f $backupconf
else
echo "'$answ' read. Not incrementing anything."
echo " your old $conf is restored..."
\rm -f $tmpfile
\mv -f $backupconf $conf
exit 0
endif
endif
else
echo "'$answ' read. Not doing anything."
endif
exit 0