automatic version checking; abbreviated layout and %PARAM def; ubtest okay
authorA.M. Thurnherr <athurnherr@yahoo.com>
Thu, 30 Oct 2014 10:32:50 +0000
changeset 9 1a7983cbb82a
parent 8 248fef05e79d
child 10 3dfa16523886
automatic version checking; abbreviated layout and %PARAM def; ubtest okay
ANTSlib
ants.pl
--- a/ANTSlib
+++ b/ANTSlib
@@ -1,17 +1,20 @@
 #!/usr/bin/perl
 #======================================================================
-#                    L I B / A N T S L I B 
+#                    A N T S L I B 
 #                    doc: Wed May 16 06:19:16 2012
-#                    dlm: Wed Oct 29 19:22:45 2014
+#                    dlm: Thu Oct 30 09:27:54 2014
 #                    (c) 2012 A.M. Thurnherr
-#                    uE-Info: 35 42 NIL 0 0 72 0 2 4 NIL ofnI
+#                    uE-Info: 14 39 NIL 0 0 72 0 2 4 NIL ofnI
 #======================================================================
 
 # HISTORY:
 #	May 16, 2012: - created for V5.0
 #	Oct 29, 2014: - made it work again for V6
+#	Oct 30, 2014: - changed output
+#				  - added version check
 
 ($ANTSLIB) = ($0 =~ m{^(.*)/[^/]*$});
+$antsMinLibVersion = 6.0;
 
 require "$ANTSLIB/ants.pl";
 require "$ANTSLIB/libCPT.pl";
@@ -32,5 +35,9 @@
 require "$ANTSLIB/libvec.pl";
 
 chomp($about = `sed -n '/^description =/s/description = //p' $ANTSLIB/.hg/hgrc`);
-printf(STDERR "$about (\$antsLibVersion = %.1f) installed in $ANTSLIB\n",$antsLibVersion);
+($aboutVer) = ($about =~ /V(.*)$/);
+die(sprintf("$0: inconsistent version numbers (.hg/hgrc: $aboutVer; \$antsLibVersion: %.1f)\n",$antsLibVersion))
+	unless ($aboutVer == $antsLibVersion);
+
+print("$ANTSLIB: $about\n");
 exit(0);
--- a/ants.pl
+++ b/ants.pl
@@ -1,10 +1,10 @@
 #!/usr/bin/perl
 #======================================================================
-#                    L I B / A N T S . P L 
+#                    A N T S . P L 
 #                    doc: Fri Jun 19 14:01:06 1998
-#                    dlm: Wed Oct 29 19:21:12 2014
+#                    dlm: Thu Oct 30 09:33:41 2014
 #                    (c) 1998 A.M. Thurnherr
-#                    uE-Info: 21 8 NIL 0 0 72 2 2 4 NIL ofnI
+#                    uE-Info: 22 55 NIL 0 0 72 2 2 4 NIL ofnI
 #======================================================================
 
 # HISTORY:
@@ -13,12 +13,15 @@
 #  Jul  5, 2006: - removed `basename`
 #  Jul 19, 2006: - added error if exec($ANTS_PERL) fails
 #  Sep 24, 2012: - added support for $ANTSLIB
-#  Oct 19, 2014: - added $antsLibVersion
+#  Oct 29, 2014: - added $antsLibVersion with compile-time version check
 
 exec($ENV{ANTS_PERL},$0,@ARGV),die("$ENV{ANTS_PERL}: $!")
     if (defined($ENV{ANTS_PERL}) && $^X ne $ENV{ANTS_PERL});
 
-$antsLibVersion = 6.0;    
+$antsLibVersion = 6.0;
+die(sprintf("$0: obsolete library V%.1f; V%.1f required\n",
+	$antsLibVersion,$antsMinLibVersion))
+		if (!defined($antsMinLibVersion) || $antsMinLibVersion>$antsLibVersion);
 
 if (defined($ANTSLIB)) {							# new style (V5)
 	require "$ANTSLIB/antsusage.pl";