[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sf.net
Fri May 15 02:54:15 UTC 2009
The following commit has been merged in the upstream branch:
commit 03d6fb70a0add8fb4c21d310e70de5d7fc8f914f
Author: Stephane Popinet <popinet at users.sf.net>
Date: Mon Apr 16 09:29:55 2007 +1000
Detailed versioning based on darcs
darcs-hash:20070415232955-d4795-6db3eb329ba3685d94ab6dc2fcdf90001dde23cd.gz
diff --git a/Makefile.am b/Makefile.am
index 952e1ac..12316c1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,11 +4,18 @@ SUBDIRS = modules src tools test doc desktop
EXTRA_DIST = ChangeLog
-ChangeLog:
- darcs changes > ChangeLog
+if DARCS_CONTROLLED
+DARCS_CHANGELOG = changelog
+else
+DARCS_CHANGELOG =
+endif
+
+ChangeLog: $(DARCS_CHANGELOG)
-debian-snapshot:
+changelog:
darcs changes > ChangeLog
+
+debian-snapshot: $(DARCS_CHANGELOG)
sh debian/control.sh
dpkg-buildpackage -rfakeroot -b -d
rm -f debian/repo/*
diff --git a/configure.in b/configure.in
index f51a1b6..1aca81c 100644
--- a/configure.in
+++ b/configure.in
@@ -385,6 +385,10 @@ AC_SUBST(GFS2D_LIBS)
AC_SUBST(GFS3D_LIBS)
AC_SUBST(GFS2D3_LIBS)
+# check whether the code is under darcs
+
+AM_CONDITIONAL(DARCS_CONTROLLED, test -d _darcs)
+
AC_OUTPUT([
Makefile
src/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 7e9c97d..986ce28 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -54,6 +54,7 @@ GFS_HDS = \
levelset.h \
isocube.h \
cartesian.h \
+ version.h \
$(MPI_HDS)
pkginclude_HEADERS = \
@@ -92,6 +93,8 @@ SRC = \
cartesian.c \
$(GFS_HDS)
+simulation.c: version.h
+
libgfs3D_la_LDFLAGS = $(NO_UNDEFINED)\
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)\
-release $(LT_RELEASE) -export-dynamic
@@ -128,3 +131,14 @@ gerris3D_LDADD = $(GFS3D_LIBS)
gerris2D3_SOURCES = gerris.c
gerris2D3_CFLAGS = $(AM_CFLAGS) -DFTT_2D3=1
gerris2D3_LDADD = $(GFS2D3_LIBS)
+
+if DARCS_CONTROLLED
+DARCS_VERSION = darcsversion
+else
+DARCS_VERSION =
+endif
+
+version.h: $(DARCS_VERSION)
+
+darcsversion:
+ sh darcsversion.sh
diff --git a/src/darcsversion.sh b/src/darcsversion.sh
new file mode 100755
index 0000000..77432ad
--- /dev/null
+++ b/src/darcsversion.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+version=`darcs changes --last=1 --xml-output | \
+ awk 'BEGIN{RS=" ";FS="="}{if ($1 == "date") print substr($2,4,6) "-" substr($2,10,6);}'`
+changes=`darcs whatsnew | head -n 1`
+
+if [ "$changes" != "No changes!" ] ; then
+ version="$version + local changes"
+fi
+
+if test -f version.h ; then
+ oldversion=`awk '{if ($2 == "GFS_BUILD_VERSION") print $0;}' < version.h`
+fi
+
+if [ "x$oldversion" != "x#define GFS_BUILD_VERSION \"$version\"" ] ; then
+ cat <<EOF > version.h
+/* version.h
+ *
+ * This is a generated file. Please modify 'darcsversion.sh'
+ */
+
+#ifndef GFSVERSION_H
+#define GFSVERSION_H
+
+#define GFS_BUILD_VERSION "$version"
+
+#endif /* GFSVERSION_H */
+EOF
+fi
diff --git a/src/gerris.c b/src/gerris.c
index 40d5dfd..5134dbd 100644
--- a/src/gerris.c
+++ b/src/gerris.c
@@ -33,6 +33,7 @@
#include "refine.h"
#include "output.h"
#include "adaptive.h"
+#include "version.h"
static void set_box_pid (GfsBox * box, gint * pid)
{
@@ -97,11 +98,12 @@ int main (int argc, char * argv[])
break;
case 'V': /* version */
fprintf (stderr,
- "gerris: using %dD libgfs version %s\n"
+ "gerris: using %dD libgfs version %s (%s)\n"
"compiled with flags: %s\n"
"sizeof (GfsStateVector): %d sizeof (FttCell): %d sizeof (FttOct): %d\n",
FTT_DIMENSION,
GFS_VERSION,
+ GFS_BUILD_VERSION,
GFS_COMPILATION_FLAGS,
sizeof (GfsStateVector),
sizeof (FttCell),
diff --git a/src/gfs.h b/src/gfs.h
index fc71186..4dee384 100644
--- a/src/gfs.h
+++ b/src/gfs.h
@@ -38,5 +38,6 @@
#include <gerris/source.h>
#include <gerris/vof.h>
#include <gerris/cartesian.h>
+#include <gerris/version.h>
#endif /* GFS_H */
diff --git a/src/graphic.c b/src/graphic.c
index 816b9cb..efdb4ab 100644
--- a/src/graphic.c
+++ b/src/graphic.c
@@ -25,6 +25,7 @@
#include "graphic.h"
#include "solid.h"
#include "variable.h"
+#include "version.h"
#if !FTT_2D
# include "isocube.h"
@@ -492,10 +493,11 @@ static void image_write (Image * im, FILE * fp)
{
fprintf (fp,
"P6\n"
- "# File generated by gerris using 2D libgfs version %s\n"
+ "# File generated by gerris using 2D libgfs version %s (%s)\n"
"# Origin: %d %d\n"
"%u %u 255\n",
GFS_VERSION,
+ GFS_BUILD_VERSION,
(gint) (im->min.x*im->size),
(gint) (im->min.y*im->size),
im->width, im->height);
diff --git a/src/simulation.c b/src/simulation.c
index 7ce5487..4829025 100644
--- a/src/simulation.c
+++ b/src/simulation.c
@@ -30,6 +30,7 @@
#include "source.h"
#include "vof.h"
#include "tension.h"
+#include "version.h"
/* GfsSimulation: object */
@@ -942,8 +943,8 @@ void gfs_simulation_write (GfsSimulation * sim,
g_return_if_fail (sim != NULL);
g_return_if_fail (fp != NULL);
- fprintf (fp, "# Gerris Flow Solver %dD version %s\n",
- FTT_DIMENSION, GFS_VERSION);
+ fprintf (fp, "# Gerris Flow Solver %dD version %s (%s)\n",
+ FTT_DIMENSION, GFS_VERSION, GFS_BUILD_VERSION);
domain = GFS_DOMAIN (sim);
depth = domain->max_depth_write;
domain->max_depth_write = max_depth;
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list