]> granicus.if.org Git - postgresql/commitdiff
configure: Allow adding a custom string to PG_VERSION
authorPeter Eisentraut <peter_e@gmx.net>
Fri, 13 Dec 2013 02:53:21 +0000 (21:53 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Fri, 13 Dec 2013 03:01:27 +0000 (22:01 -0500)
This can be used to mark custom built binaries with an extra version
string such as a git describe identifier or distribution package release
version.

From: Oskari Saarenmaa <os@ohmu.fi>

configure
configure.in
doc/src/sgml/installation.sgml

index 0165c3c9b7be4dde37b3548691c5e86b259f0c55..fb802c1aba6a3a7ab7db7fe22307f33d7e495315 100755 (executable)
--- a/configure
+++ b/configure
@@ -804,6 +804,7 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+with_extra_version
 with_template
 with_includes
 with_libraries
@@ -1507,6 +1508,8 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-extra-version=STRING
+                          append STRING to version
   --with-template=NAME    override operating system template
   --with-includes=DIRS    look for additional header files in DIRS
   --with-libraries=DIRS   look for additional libraries in DIRS
@@ -2047,16 +2050,44 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 configure_args=$ac_configure_args
 
 
+PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`
+
 
 cat >>confdefs.h <<_ACEOF
-#define PG_VERSION "$PACKAGE_VERSION"
+#define PG_MAJORVERSION "$PG_MAJORVERSION"
 _ACEOF
 
-PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`
+
+
+
+
+# Check whether --with-extra-version was given.
+if test "${with_extra_version+set}" = set; then
+  withval=$with_extra_version;
+  case $withval in
+    yes)
+      { { $as_echo "$as_me:$LINENO: error: argument required for --with-extra-version option" >&5
+$as_echo "$as_me: error: argument required for --with-extra-version option" >&2;}
+   { (exit 1); exit 1; }; }
+      ;;
+    no)
+      { { $as_echo "$as_me:$LINENO: error: argument required for --with-extra-version option" >&5
+$as_echo "$as_me: error: argument required for --with-extra-version option" >&2;}
+   { (exit 1); exit 1; }; }
+      ;;
+    *)
+      PG_VERSION="$PACKAGE_VERSION$withval"
+      ;;
+  esac
+
+else
+  PG_VERSION="$PACKAGE_VERSION"
+fi
+
 
 
 cat >>confdefs.h <<_ACEOF
-#define PG_MAJORVERSION "$PG_MAJORVERSION"
+#define PG_VERSION "$PG_VERSION"
 _ACEOF
 
 
@@ -30284,7 +30315,7 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define PG_VERSION_STR "PostgreSQL $PACKAGE_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"
+#define PG_VERSION_STR "PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"
 _ACEOF
 
 
index 5479eab75cd1d61e0f93fed2d1c54b24be3b08e8..ebbb7122952937002a0f393c5c14b9d20e6d0ca9 100644 (file)
@@ -29,11 +29,15 @@ AC_CONFIG_AUX_DIR(config)
 AC_PREFIX_DEFAULT(/usr/local/pgsql)
 AC_SUBST(configure_args, [$ac_configure_args])
 
-AC_DEFINE_UNQUOTED(PG_VERSION, "$PACKAGE_VERSION", [PostgreSQL version as a string])
 [PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\.[0-9][0-9]*\)'`]
 AC_SUBST(PG_MAJORVERSION)
 AC_DEFINE_UNQUOTED(PG_MAJORVERSION, "$PG_MAJORVERSION", [PostgreSQL major version as a string])
 
+PGAC_ARG_REQ(with, extra-version, [STRING], [append STRING to version],
+             [PG_VERSION="$PACKAGE_VERSION$withval"],
+             [PG_VERSION="$PACKAGE_VERSION"])
+AC_DEFINE_UNQUOTED(PG_VERSION, "$PG_VERSION", [PostgreSQL version as a string])
+
 AC_CANONICAL_HOST
 
 template=
@@ -1914,7 +1918,7 @@ else
 fi
 
 AC_DEFINE_UNQUOTED(PG_VERSION_STR,
-                   ["PostgreSQL $PACKAGE_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"],
+                   ["PostgreSQL $PG_VERSION on $host, compiled by $cc_string, `expr $ac_cv_sizeof_void_p \* 8`-bit"],
                    [A string containing the version number, platform, and C compiler])
 
 # Supply a numeric version string for use by 3rd party add-ons
index 2bdb3f10b308897f55d3589688512a3148faf7ce..fc6559d7084718ae16603ff15beb72bfe75df814 100644 (file)
@@ -628,6 +628,19 @@ su - postgres
 
     <para>
      <variablelist>
+      <varlistentry>
+       <term><option>--with-extra-version=<replaceable>STRING</></option></term>
+       <listitem>
+        <para>
+         Append <replaceable>STRING</> to the PostgreSQL version number.  You
+         can use this, for example, to mark binaries built from unreleased Git
+         snapshots or containing custom patches with an extra version string
+         such as a <command>git describe</command> identifier or a
+         distribution package release number.
+        </para>
+       </listitem>
+      </varlistentry>
+
       <varlistentry>
        <term><option>--with-includes=<replaceable>DIRECTORIES</></option></term>
        <listitem>