#! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for PostgreSQL 9.6beta4.
+# Generated by GNU Autoconf 2.69 for PostgreSQL 10devel.
 #
 # Report bugs to <pgsql-bugs@postgresql.org>.
 #
 # Identity of this package.
 PACKAGE_NAME='PostgreSQL'
 PACKAGE_TARNAME='postgresql'
-PACKAGE_VERSION='9.6beta4'
-PACKAGE_STRING='PostgreSQL 9.6beta4'
+PACKAGE_VERSION='10devel'
+PACKAGE_STRING='PostgreSQL 10devel'
 PACKAGE_BUGREPORT='pgsql-bugs@postgresql.org'
 PACKAGE_URL=''
 
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures PostgreSQL 9.6beta4 to adapt to many kinds of systems.
+\`configure' configures PostgreSQL 10devel to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of PostgreSQL 9.6beta4:";;
+     short | recursive ) echo "Configuration of PostgreSQL 10devel:";;
    esac
   cat <<\_ACEOF
 
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-PostgreSQL configure 9.6beta4
+PostgreSQL configure 10devel
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by PostgreSQL $as_me 9.6beta4, which was
+It was created by PostgreSQL $as_me 10devel, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 configure_args=$ac_configure_args
 
 
-PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`
+PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`
 
 
 cat >>confdefs.h <<_ACEOF
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by PostgreSQL $as_me 9.6beta4, which was
+This file was extended by PostgreSQL $as_me 10devel, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-PostgreSQL config.status 9.6beta4
+PostgreSQL config.status 10devel
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
 
 dnl
 m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
 
-AC_INIT([PostgreSQL], [9.6beta4], [pgsql-bugs@postgresql.org])
+AC_INIT([PostgreSQL], [10devel], [pgsql-bugs@postgresql.org])
 
 m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
 Untested combinations of 'autoconf' and PostgreSQL versions are not
 AC_PREFIX_DEFAULT(/usr/local/pgsql)
 AC_SUBST(configure_args, [$ac_configure_args])
 
-[PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`]
+[PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
 AC_SUBST(PG_MAJORVERSION)
 AC_DEFINE_UNQUOTED(PG_MAJORVERSION, "$PG_MAJORVERSION", [PostgreSQL major version as a string])
 
 
 
   Operating System (example: Linux 2.4.18)     :
 
-  PostgreSQL version (example: PostgreSQL 9.6beta4):  PostgreSQL 9.6beta4
+  PostgreSQL version (example: PostgreSQL 10devel):  PostgreSQL 10devel
 
   Compiler used (example: gcc 3.3.5)           :
 
 
   </para>
 
   <para>
-   <productname>PostgreSQL</> major versions are represented by the
-   first two digit groups of the version number, e.g., 8.4.
-   <productname>PostgreSQL</> minor versions are represented by the
-   third group of version digits, e.g., 8.4.2 is the second minor
-   release of 8.4.  Minor releases never change the internal storage
-   format and are always compatible with earlier and later minor
-   releases of the same major version number, e.g., 8.4.2 is compatible
-   with 8.4, 8.4.1 and 8.4.6.  To update between compatible versions,
-   you simply replace the executables while the server is down and
-   restart the server.  The data directory remains unchanged —
-   minor upgrades are that simple.
+   Current <productname>PostgreSQL</productname> version numbers consist of a
+   major and a minor version number.  For example, in the version number 10.1,
+   the 10 is the major version number and the 1 is the minor version number,
+   meaning this would be the first minor release of the major release 10.  For
+   releases before <productname>PostgreSQL</productname> version 10.0, version
+   numbers consist of three numbers, for example, 9.5.3.  In those cases, the
+   major version consists of the first two digit groups of the version number,
+   e.g., 9.5, and the minor version is the third number, e.g., 3, meaning this
+   would be the third minor release of the major release 9.5.
+  </para>
+
+  <para>
+   Minor releases never change the internal storage format and are always
+   compatible with earlier and later minor releases of the same major version
+   number.  For example, version 10.1 is compatible with version 10.0 and
+   version 10.6.  Similarly, for example, 9.5.3 is compatible with 9.5.0,
+   9.5.1, and 9.5.6.  To update between compatible versions, you simply
+   replace the executables while the server is down and restart the server.
+   The data directory remains unchanged — minor upgrades are that
+   simple.
   </para>
 
   <para>
 
        elsif ($arg =~ /^--set-version=(.*)$/)
        {
                $major_version = $1;
-               die "Version must be in format nn.nn.\n"
-                 if !($major_version =~ /^\d+\.\d+$/);
+               die "Invalid version string.\n"
+                 if !($major_version =~ /^\d+$/);
        }
        else
        {
 
        char            full_path[MAXPGPATH];
        FILE       *file;
        int                     ret;
-       long            file_major,
-                               file_minor;
-       long            my_major = 0,
-                               my_minor = 0;
+       long            file_major;
+       long            my_major;
        char       *endptr;
-       const char *version_string = PG_VERSION;
+       char            file_version_string[64];
+       const char *my_version_string = PG_VERSION;
 
-       my_major = strtol(version_string, &endptr, 10);
-       if (*endptr == '.')
-               my_minor = strtol(endptr + 1, NULL, 10);
+       my_major = strtol(my_version_string, &endptr, 10);
 
        snprintf(full_path, sizeof(full_path), "%s/PG_VERSION", path);
 
                                         errmsg("could not open file \"%s\": %m", full_path)));
        }
 
-       ret = fscanf(file, "%ld.%ld", &file_major, &file_minor);
-       if (ret != 2)
+       file_version_string[0] = '\0';
+       ret = fscanf(file, "%63s", file_version_string);
+       file_major = strtol(file_version_string, &endptr, 10);
+
+       if (ret != 1 || endptr == file_version_string)
                ereport(FATAL,
                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
                                 errmsg("\"%s\" is not a valid data directory",
 
        FreeFile(file);
 
-       if (my_major != file_major || my_minor != file_minor)
+       if (my_major != file_major)
                ereport(FATAL,
                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
                                 errmsg("database files are incompatible with server"),
-                                errdetail("The data directory was initialized by PostgreSQL version %ld.%ld, "
+                                errdetail("The data directory was initialized by PostgreSQL version %s, "
                                                   "which is not compatible with this version %s.",
-                                                  file_major, file_minor, version_string)));
+                                                  file_version_string, my_version_string)));
 }
 
 /*-------------------------------------------------------------------------
 
        char            cmd[MAXPGPATH],
                                cmd_output[MAX_STRING];
        FILE       *output;
-       int                     pre_dot,
-                               post_dot;
+       int                     pre_dot = 0,
+                               post_dot = 0;
 
        snprintf(cmd, sizeof(cmd), "\"%s/pg_ctl\" --version", cluster->bindir);
 
        if (strchr(cmd_output, '\n') != NULL)
                *strchr(cmd_output, '\n') = '\0';
 
-       if (sscanf(cmd_output, "%*s %*s %d.%d", &pre_dot, &post_dot) != 2)
+       if (sscanf(cmd_output, "%*s %*s %d.%d", &pre_dot, &post_dot) < 1)
                pg_fatal("could not get version from %s\n", cmd);
 
        cluster->bin_version = (pre_dot * 100 + post_dot) * 100;
 
 
        if (fscanf(version_fd, "%63s", cluster->major_version_str) == 0 ||
                sscanf(cluster->major_version_str, "%d.%d", &integer_version,
-                          &fractional_version) != 2)
+                          &fractional_version) < 1)
                pg_fatal("could not get version from %s\n", cluster->pgdata);
 
        fclose(version_fd);
 
 #define PACKAGE_NAME "PostgreSQL"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "PostgreSQL 9.6beta4"
+#define PACKAGE_STRING "PostgreSQL 10devel"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "9.6beta4"
+#define PACKAGE_VERSION "10devel"
 
 /* Define to the name of a signed 128-bit integer type. */
 #undef PG_INT128_TYPE
 #define PG_INT64_TYPE long long int
 
 /* PostgreSQL version as a string */
-#define PG_VERSION "9.6beta4"
+#define PG_VERSION "10devel"
 
 /* PostgreSQL version as a number */
-#define PG_VERSION_NUM 90600
+#define PG_VERSION_NUM 100000
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "postgresql"
 
 #include <winver.h>
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 9,6,0,0
- PRODUCTVERSION 9,6,0,0
+ FILEVERSION 10,0,0,0
+ PRODUCTVERSION 10,0,0,0
  FILEFLAGSMASK 0x3fL
  FILEFLAGS 0
  FILEOS VOS__WINDOWS32
         BEGIN
             VALUE "CompanyName", "\0"
             VALUE "FileDescription", "PostgreSQL Access Library\0"
-            VALUE "FileVersion", "9.6.0\0"
+            VALUE "FileVersion", "10.0\0"
             VALUE "InternalName", "libpq\0"
             VALUE "LegalCopyright", "Copyright (C) 2016\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "libpq.dll\0"
             VALUE "ProductName", "PostgreSQL\0"
-            VALUE "ProductVersion", "9.6.0\0"
+            VALUE "ProductVersion", "10.0\0"
         END
     END
     BLOCK "VarFileInfo"
 
 #include "pg_config.h"
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION    9,6,0,0
- PRODUCTVERSION 9,6,0,0
+ FILEVERSION    10,0,0,0
+ PRODUCTVERSION 10,0,0,0
  FILEFLAGSMASK  0x17L
  FILEFLAGS      0x0L
  FILEOS         VOS_NT_WINDOWS32
 
                if (/^AC_INIT\(\[PostgreSQL\], \[([^\]]+)\]/)
                {
                        $self->{strver} = $1;
-                       if ($self->{strver} !~ /^(\d+)\.(\d+)(?:\.(\d+))?/)
+                       if ($self->{strver} !~ /^(\d+)(?:\.(\d+))?/)
                        {
                                confess "Bad format of version: $self->{strver}\n";
                        }
-                       $self->{numver} = sprintf("%d%02d%02d", $1, $2, $3 ? $3 : 0);
-                       $self->{majorver} = sprintf("%d.%d", $1, $2);
+                       $self->{numver} = sprintf("%d%04d", $1, $2 ? $2 : 0);
+                       $self->{majorver} = sprintf("%d", $1);
                }
        }
        close(C);
 
 
 # Major version is hard-wired into the script.  We update it when we branch
 # a new development version.
-$major1 = 9;
-$major2 = 6;
+$majorversion = 10;
 
 # Validate argument and compute derived variables
 $minor = shift;
 }
 
 # Create various required forms of the version number
-$majorversion = $major1 . "." . $major2;
 if ($dotneeded)
 {
        $fullversion = $majorversion . "." . $minor;
        $fullversion = $majorversion . $minor;
 }
 $numericversion = $majorversion . "." . $numericminor;
-$padnumericversion = sprintf("%d%02d%02d", $major1, $major2, $numericminor);
+$padnumericversion = sprintf("%d%04d", $majorversion, $numericminor);
 
 # Get the autoconf version number for eventual nag message
 # (this also ensures we're in the right directory)
 );
 
 sed_file("src/interfaces/libpq/libpq.rc.in",
-"-e 's/FILEVERSION [0-9]*,[0-9]*,[0-9]*,0/FILEVERSION $major1,$major2,$numericminor,0/' "
-         . "-e 's/PRODUCTVERSION [0-9]*,[0-9]*,[0-9]*,0/PRODUCTVERSION $major1,$major2,$numericminor,0/' "
+"-e 's/FILEVERSION [0-9]*,[0-9]*,[0-9]*,0/FILEVERSION $majorversion,0,$numericminor,0/' "
+         . "-e 's/PRODUCTVERSION [0-9]*,[0-9]*,[0-9]*,0/PRODUCTVERSION $majorversion,0,$numericminor,0/' "
          . "-e 's/VALUE \"FileVersion\", \"[0-9.]*/VALUE \"FileVersion\", \"$numericversion/' "
          . "-e 's/VALUE \"ProductVersion\", \"[0-9.]*/VALUE \"ProductVersion\", \"$numericversion/'"
 );
 
 sed_file("src/port/win32ver.rc",
-"-e 's/FILEVERSION    [0-9]*,[0-9]*,[0-9]*,0/FILEVERSION    $major1,$major2,$numericminor,0/' "
-         . "-e 's/PRODUCTVERSION [0-9]*,[0-9]*,[0-9]*,0/PRODUCTVERSION $major1,$major2,$numericminor,0/'"
+"-e 's/FILEVERSION    [0-9]*,[0-9]*,[0-9]*,0/FILEVERSION    $majorversion,0,$numericminor,0/' "
+         . "-e 's/PRODUCTVERSION [0-9]*,[0-9]*,[0-9]*,0/PRODUCTVERSION $majorversion,0,$numericminor,0/'"
 );
 
 print "Stamped these files with version number $fullversion:\n$fixedfiles";