diff -Nau ChangeLog.orig ChangeLog
--- ChangeLog.orig	2008-07-18 09:57:29.000000000 +0200
+++ ChangeLog	2009-01-06 01:29:18.000000000 +0100
@@ -114,6 +114,9 @@
 
  Changes between 2.0.1 and 2.0.2 (11-Aug-2004 to 15-Jun-2005):
 
+   *) Added ISO C++ language output to "shtool version".
+      [Michael Schloh von Bennewitz <michael@schloh.com>]
+
    *) Fix insecure temporary file handling (CAN-2005-1751, CAN-2005-1759).
       [Eric Romang <eromang@zataz.net>, Ralf S. Engelschall]
 
diff -Nau RATIONAL.orig RATIONAL
--- RATIONAL.orig	2008-04-02 22:10:17.000000000 +0200
+++ RATIONAL	2009-01-06 01:30:19.000000000 +0100
@@ -6,8 +6,8 @@
 
   GNU shtool -- The GNU Portable Shell Tool
 
-  RATIONAL
-  ========
+  RATIONALE
+  =========
 
   The Context
 
diff -Nau sh.version.orig sh.version
--- sh.version.orig	2008-04-02 22:10:17.000000000 +0200
+++ sh.version	2009-01-06 01:32:32.000000000 +0100
@@ -211,7 +211,7 @@
             ;;
         c )
             echo >>$file "/*"
-            echo >>$file "**  ${file} -- Version Information for ${name} (syntax: C/C++)"
+            echo >>$file "**  ${file} -- Version Information for ${name} (syntax: C)"
             echo >>$file "**  [automatically generated and maintained by GNU shtool]"
             echo >>$file "*/"
             echo >>$file ""
@@ -257,6 +257,65 @@
             echo >>$file "#endif /* _${filestr}_AS_HEADER_ */"
             echo >>$file ""
             ;;
+        cxx )
+            echo >>$file "//"
+            echo >>$file "//  ${file} -- Version Information for ${name} (syntax: ISO C++)"
+            echo >>$file "//  [automatically generated and maintained by GNU shtool]"
+            echo >>$file "//"
+            echo >>$file ""
+            echo >>$file "#ifdef _${filestr}_AS_HEADER_"
+            echo >>$file ""
+            echo >>$file "#ifndef _${filestr}_"
+            echo >>$file "#define _${filestr}_"
+            echo >>$file ""
+            echo >>$file "#define ${prefixupper}VERSION ${vHex}"
+            echo >>$file ""
+            echo >>$file "typedef class ${prefix}version_class {"
+            echo >>$file "private:"
+            echo >>$file "    const int   v_hex;"
+            echo >>$file "    const char *v_short;"
+            echo >>$file "    const char *v_long;"
+            echo >>$file "    const char *v_tex;"
+            echo >>$file "    const char *v_gnu;"
+            echo >>$file "    const char *v_web;"
+            echo >>$file "    const char *v_sccs;"
+            echo >>$file "    const char *v_rcs;"
+            echo >>$file "public:"
+            echo >>$file "    ${prefix}version_class(void) : \\"
+            echo >>$file "        v_hex(${vHex}), \\"
+            echo >>$file "        v_short(\"${vShort}\"), \\"
+            echo >>$file "        v_long(\"${vLong}\"), \\"
+            echo >>$file "        v_tex(\"${vTeX}\"), \\"
+            echo >>$file "        v_gnu(\"${vGNU}\"), \\"
+            echo >>$file "        v_web(\"${vWeb}\"), \\"
+            echo >>$file "        v_sccs(\"${vSCCS}\"), \\"
+            echo >>$file "        v_rcs(\"${vRCS}\") \\"
+            echo >>$file "        {}"
+            echo >>$file "    const int   getHex(void)   {return (v_hex);};"
+            echo >>$file "    const char *getShort(void) {return (v_short);};"
+            echo >>$file "    const char *getLong(void)  {return (v_long);};"
+            echo >>$file "    const char *getTex(void)   {return (v_tex);};"
+            echo >>$file "    const char *getGnu(void)   {return (v_gnu);};"
+            echo >>$file "    const char *getWeb(void)   {return (v_web);};"
+            echo >>$file "    const char *getSccs(void)  {return (v_sccs);};"
+            echo >>$file "    const char *getRcs(void)   {return (v_rcs);};"
+            echo >>$file "} ${prefix}version_t;"
+            echo >>$file ""
+            echo >>$file "extern ${prefix}version_t ${prefix}version;"
+            echo >>$file ""
+            echo >>$file "#endif // _${filestr}_"
+            echo >>$file ""
+            echo >>$file "#else // _${filestr}_AS_HEADER_"
+            echo >>$file ""
+            echo >>$file "#define _${filestr}_AS_HEADER_"
+            echo >>$file "#include \"${file}\""
+            echo >>$file "#undef  _${filestr}_AS_HEADER_"
+            echo >>$file ""
+            echo >>$file "${prefix}version_t ${prefix}version;"
+            echo >>$file ""
+            echo >>$file "#endif // _${filestr}_AS_HEADER_"
+            echo >>$file ""
+            ;;
         m4 )
             echo >>$file "##"
             echo >>$file "##  ${file} -- Version Information for ${name} (syntax: M4)"
@@ -367,9 +426,9 @@
 
 =item B<-l>, B<--language> I<lang>
 
-Choose format of version file I<file>. I<lang>="C<txt>", ANSI C
-(I<lang>="c"), M4 (I<lang>="m4"), Perl (I<lang>="perl") or Python
-(I<lang>="python"). Default is C<txt>.
+Choose format of version file I<file>. I<lang>="C<txt>", ISO C
+(I<lang>="c"), ISO C++ (I<lang>="cxx"), M4 (I<lang>="m4"), Perl
+(I<lang>="perl") or Python (I<lang>="python"). Default is C<txt>.
 
 =item B<-n>, B<--name> I<name>
 
diff -Nau shtool.pod.orig shtool.pod
--- shtool.pod.orig	2008-04-02 22:10:17.000000000 +0200
+++ shtool.pod	2009-01-06 01:32:54.000000000 +0100
@@ -161,8 +161,8 @@
 
 =item B<version>
 
-Maintain a version information file in either Text, C/C++, Perl or Python.
-format.
+Maintain a version information file in either Text, C, C++, M4, Perl or
+Python.
 
 =item B<path>
 
