[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