summaryrefslogtreecommitdiff
path: root/tools/update-patchv
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2010-08-17 09:10:13 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2010-08-17 09:10:13 +0000
commitc9583bdfe064e1069828e518533f7bc29a8fdddb (patch)
tree2400842d4095628b8486fbeabaf7bc7b8af4ed02 /tools/update-patchv
parent50ac5b5985174201c7fa6e20496cd2b096107001 (diff)
downloadmpfr-c9583bdfe064e1069828e518533f7bc29a8fdddb.tar.gz
Source reorganization. In short:
* Added directories and moved related files into them: - src for the MPFR source files (to build the library). - doc for documentation files (except INSTALL, README...). - tools for various tools (scripts) and mbench. - tune for tuneup-related source files. - other for other source files (not distributed in tarballs). Existing directories: - tests for the source files of the test suite (make check). - examples for examples. - m4 for m4 files. * Renamed configure.in to configure.ac. * Added/updated Makefile.am files where needed. * Updated acinclude.m4 and configure.ac (AC_CONFIG_FILES line). * Updated the documentation (INSTALL, README, doc/README.dev and doc/mpfr.texi). * Updated NEWS and TODO. * Updated the scripts now in tools. The following script was used: #!/usr/bin/env zsh svn mkdir doc other src tools tune svn mv ${${(M)$(sed -n '/libmpfr_la_SOURCES/,/[^\]$/p' \ Makefile.am):#*.[ch]}:#get_patches.c} mparam_h.in \ round_raw_generic.c jyn_asympt.c src svn mv mbench check_inits_clears coverage get_patches.sh mpfrlint \ nightly-test update-patchv update-version tools svn mv bidimensional_sample.c speed.c tuneup.c tune svn mv *.{c,h} other svn mv FAQ.html README.dev algorithm* faq.xsl fdl.texi mpfr.texi \ update-faq doc svn mv configure.in configure.ac svn cp Makefile.am src/Makefile.am svn rm replace_all [Modifying some files, see above] svn add doc/Makefile.am svn add tune/Makefile.am git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@7087 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tools/update-patchv')
-rwxr-xr-xtools/update-patchv46
1 files changed, 46 insertions, 0 deletions
diff --git a/tools/update-patchv b/tools/update-patchv
new file mode 100755
index 000000000..ea04c3109
--- /dev/null
+++ b/tools/update-patchv
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# Run this script from the top or tools directory to update some files
+# before a patch is built.
+
+set -e
+
+LC_ALL=C
+export LC_ALL
+
+if [ $# -ne 1 ]; then
+ echo >&2 "Usage: $0 <patchnumber>"
+ exit 1
+fi
+
+dir=`pwd`
+[ -d src ] || [ "`basename "$dir"`" != tools ] || cd ..
+
+replace()
+{
+ if [ ! -h "$2" ] && [ -r "$2" ] && [ -w "$2" ]; then
+ err=`perl -pi -e "$1" "$2" 2>&1 >/dev/null`
+ if [ -n "$err" ]; then
+ printf >&2 "Error from perl:\n%s\n" "$err"
+ exit 2
+ fi
+ else
+ printf >&2 "Error: %s is not a readable/writable file\n" "$2"
+ exit 2
+ fi
+}
+
+vers="`perl -pe 's/^(\d+\.\d+\.\d+).*/\1/' VERSION`"
+if [ -z "$vers" ]; then
+ echo >&2 "Error: could not get the current MPFR version"
+ exit 2
+fi
+
+full="${vers}-p$1"
+echo $full > VERSION
+
+replace "s/(?<=#define MPFR_VERSION_STRING ).*/\"$full\"/" src/mpfr.h
+replace "s/(?<=return \").*\"/$full\"/" src/version.c
+replace "s/(?<=#if ).*/0/" tests/tversion.c
+
+echo "MPFR version successfully updated."