Index: config.h.in
===================================================================
--- config.h.in	(revision 315f6345fd4468ec768bbc8c18e049cf434bc841)
+++ config.h.in	(revision ec129c41602fc1e6b8d76d388878e9e9d18535c3)
@@ -18,4 +18,13 @@
 /* Location of cfa install. */
 #undef CFA_PREFIX
+
+/* Major version number. */
+#undef CFA_VERSION_MAJOR
+
+/* Minor version number. */
+#undef CFA_VERSION_MINOR
+
+/* Patch version number. */
+#undef CFA_VERSION_PATCH
 
 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
Index: configure
===================================================================
--- configure	(revision 315f6345fd4468ec768bbc8c18e049cf434bc841)
+++ configure	(revision ec129c41602fc1e6b8d76d388878e9e9d18535c3)
@@ -2964,4 +2964,14 @@
 			# may require auto* software to be installed
 
+
+$as_echo "#define CFA_VERSION_MAJOR \"1\"" >>confdefs.h
+
+
+$as_echo "#define CFA_VERSION_MINOR \"0\"" >>confdefs.h
+
+
+$as_echo "#define CFA_VERSION_PATCH \"0\"" >>confdefs.h
+
+
 # Installation paths
 
Index: configure.ac
===================================================================
--- configure.ac	(revision 315f6345fd4468ec768bbc8c18e049cf434bc841)
+++ configure.ac	(revision ec129c41602fc1e6b8d76d388878e9e9d18535c3)
@@ -17,4 +17,8 @@
 AM_INIT_AUTOMAKE
 AM_MAINTAINER_MODE(enable)			# may require auto* software to be installed
+
+AC_DEFINE(CFA_VERSION_MAJOR, "1", [Major version number.])
+AC_DEFINE(CFA_VERSION_MINOR, "0", [Minor version number.])
+AC_DEFINE(CFA_VERSION_PATCH, "0", [Patch version number.])
 
 # Installation paths
Index: doc/user/user.tex
===================================================================
--- doc/user/user.tex	(revision 315f6345fd4468ec768bbc8c18e049cf434bc841)
+++ doc/user/user.tex	(revision ec129c41602fc1e6b8d76d388878e9e9d18535c3)
@@ -11,6 +11,6 @@
 %% Created On       : Wed Apr  6 14:53:29 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Thu Sep 29 11:50:28 2016
-%% Update Count     : 1325
+%% Last Modified On : Tue Oct 25 23:03:59 2016
+%% Update Count     : 1357
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -326,6 +326,6 @@
 \begin{description}
 \item
-\Indexc{__CFA__}\index{preprocessor variables!__CFA__@{©__CFA__©}}
-is always available during preprocessing and its value is the current major \Index{version number} of \CFA.\footnote{
+\Indexc{__CFA_MAJOR__}\index{preprocessor variables!__CFA__@{©__CFA__©}}
+is available during preprocessing and its value is the major \Index{version number} of \CFA.\footnote{
 The C preprocessor allows only integer values in a preprocessor variable so a value like ``\Version'' is not allowed.
 Hence, the need to have three variables for the major, minor and patch version number.}
@@ -333,13 +333,14 @@
 \item
 \Indexc{__CFA_MINOR__}\index{preprocessor variables!__CFA_MINOR__@{©__CFA_MINOR__©}}
-is always available during preprocessing and its value is the current minor \Index{version number} of \CFA.
+is available during preprocessing and its value is the minor \Index{version number} of \CFA.
 
 \item
 \Indexc{__CFA_PATCH__}\index{preprocessor variables!__CFA_PATCH__@©__CFA_PATCH__©}
-is always available during preprocessing and its value is the current patch \Index{version number} of \CFA.
-
-\item
+is available during preprocessing and its value is the patch \Index{level number} of \CFA.
+
+\item
+\Indexc{__CFA__}\index{preprocessor variables!__CFA__@©__CFA__©} and
 \Indexc{__CFORALL__}\index{preprocessor variables!__CFORALL__@©__CFORALL__©}
-is always available during preprocessing and has no value.
+are always available during preprocessing and have no value.
 \end{description}
 These preprocessor variables allow conditional compilation of programs that must work differently in these situations.
Index: src/driver/cfa.cc
===================================================================
--- src/driver/cfa.cc	(revision 315f6345fd4468ec768bbc8c18e049cf434bc841)
+++ src/driver/cfa.cc	(revision ec129c41602fc1e6b8d76d388878e9e9d18535c3)
@@ -10,6 +10,6 @@
 // Created On       : Tue Aug 20 13:44:49 2002
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug  6 16:14:55 2016
-// Update Count     : 148
+// Last Modified On : Tue Oct 25 21:29:48 2016
+// Update Count     : 152
 //
 
@@ -51,19 +51,5 @@
 int main( int argc, char *argv[] ) {
 	string Version( VERSION );							// current version number from CONFIG
-	string Major( "0" ), Minor( "0" ), Patch( "0" );	// default version numbers
-
-	int posn1 = Version.find( "." );					// find the divider between major and minor version numbers
-	if ( posn1 == -1 ) {								// not there ?
-		Major = Version;
-	} else {
-		Major = Version.substr( 0, posn1 );
-		int posn2 = Version.find( ".", posn1 + 1 );		// find the divider between minor and patch numbers
-		if ( posn2 == -1 ) {							// not there ?
-			Minor = Version.substr( posn1 );
-		} else {
-			Minor = Version.substr( posn1 + 1, posn2 - posn1 - 1 );
-			Patch = Version.substr( posn2 + 1 );
-		} // if
-	} // if
+	string Major( CFA_VERSION_MAJOR ), Minor( CFA_VERSION_MINOR ), Patch( CFA_VERSION_MINOR );
 
 	string installincdir( CFA_INCDIR );					// fixed location of include files
@@ -268,9 +254,9 @@
 	// add the correct set of flags based on the type of compile this is
 
-	args[nargs] = ( *new string( string("-D__CFA__=") + Major ) ).c_str();
+	args[nargs] = ( *new string( string("-D__CFA_MAJOR__=") + Major ) ).c_str();
 	nargs += 1;
 	args[nargs] = ( *new string( string("-D__CFA_MINOR__=") + Minor ) ).c_str();
 	nargs += 1;
-	args[nargs] = ( *new string( string("-D__CFA_PATCHLEVEL__=") + Patch ) ).c_str();
+	args[nargs] = ( *new string( string("-D__CFA_PATCH__=") + Patch ) ).c_str();
 	nargs += 1;
 	args[nargs] = "-D__CFA__";
