aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure15
-rw-r--r--configure.in7
-rw-r--r--src/include/pg_config.h.in6
-rw-r--r--src/port/win32ver.rc4
-rw-r--r--src/tools/msvc/Solution.pm16
-rwxr-xr-xsrc/tools/version_stamp.pl14
6 files changed, 36 insertions, 26 deletions
diff --git a/configure b/configure
index 45dbeb4d198..d6d3f26d03d 100755
--- a/configure
+++ b/configure
@@ -2805,6 +2805,8 @@ _ACEOF
PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`
+PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`
+test -n "$PG_MINORVERSION" || PG_MINORVERSION=0
cat >>confdefs.h <<_ACEOF
@@ -2812,6 +2814,16 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+cat >>confdefs.h <<_ACEOF
+#define PG_MAJORVERSION_NUM $PG_MAJORVERSION
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PG_MINORVERSION_NUM $PG_MINORVERSION
+_ACEOF
+
+
@@ -18875,8 +18887,7 @@ _ACEOF
# Supply a numeric version string for use by 3rd party add-ons
# awk -F is a regex on some platforms, and not on others, so make "." a tab
-PG_VERSION_NUM="`echo "$PACKAGE_VERSION" | sed 's/[A-Za-z].*$//' |
-tr '.' ' ' |
+PG_VERSION_NUM="`echo "$PG_MAJORVERSION $PG_MINORVERSION" |
$AWK '{printf "%d%04d", $1, $2}'`"
cat >>confdefs.h <<_ACEOF
diff --git a/configure.in b/configure.in
index 22f096a5ac7..78902fb60db 100644
--- a/configure.in
+++ b/configure.in
@@ -30,8 +30,12 @@ AC_PREFIX_DEFAULT(/usr/local/pgsql)
AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["$ac_configure_args"], [Saved arguments from configure])
[PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
+[PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`]
+test -n "$PG_MINORVERSION" || PG_MINORVERSION=0
AC_SUBST(PG_MAJORVERSION)
AC_DEFINE_UNQUOTED(PG_MAJORVERSION, "$PG_MAJORVERSION", [PostgreSQL major version as a string])
+AC_DEFINE_UNQUOTED(PG_MAJORVERSION_NUM, $PG_MAJORVERSION, [PostgreSQL major version number])
+AC_DEFINE_UNQUOTED(PG_MINORVERSION_NUM, $PG_MINORVERSION, [PostgreSQL minor version number])
PGAC_ARG_REQ(with, extra-version, [STRING], [append STRING to version],
[PG_VERSION="$PACKAGE_VERSION$withval"],
@@ -2318,8 +2322,7 @@ AC_DEFINE_UNQUOTED(PG_VERSION_STR,
# Supply a numeric version string for use by 3rd party add-ons
# awk -F is a regex on some platforms, and not on others, so make "." a tab
-[PG_VERSION_NUM="`echo "$PACKAGE_VERSION" | sed 's/[A-Za-z].*$//' |
-tr '.' ' ' |
+[PG_VERSION_NUM="`echo "$PG_MAJORVERSION $PG_MINORVERSION" |
$AWK '{printf "%d%04d", $1, $2}'`"]
AC_DEFINE_UNQUOTED(PG_VERSION_NUM, $PG_VERSION_NUM, [PostgreSQL version as a number])
AC_SUBST(PG_VERSION_NUM)
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index d758dfd36ee..41ad2093806 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -780,6 +780,12 @@
/* PostgreSQL major version as a string */
#undef PG_MAJORVERSION
+/* PostgreSQL major version number */
+#undef PG_MAJORVERSION_NUM
+
+/* PostgreSQL minor version number */
+#undef PG_MINORVERSION_NUM
+
/* Define to best printf format archetype, usually gnu_printf if available. */
#undef PG_PRINTF_ATTRIBUTE
diff --git a/src/port/win32ver.rc b/src/port/win32ver.rc
index 7b88d4b36f6..5834b31ddcc 100644
--- a/src/port/win32ver.rc
+++ b/src/port/win32ver.rc
@@ -4,8 +4,8 @@
// https://docs.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 13,0,0,0
- PRODUCTVERSION 13,0,0,0
+ FILEVERSION PG_MAJORVERSION_NUM,0,PG_MINORVERSION_NUM,0
+ PRODUCTVERSION PG_MAJORVERSION_NUM,0,PG_MINORVERSION_NUM,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS 0x0L
FILEOS VOS_NT_WINDOWS32
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 4244a4a8ac1..34d1f61dbaa 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -19,7 +19,6 @@ sub _new
my $self = {
projects => {},
options => $options,
- numver => '',
VisualStudioVersion => undef,
MinimumVisualStudioVersion => undef,
vcver => undef,
@@ -151,6 +150,7 @@ sub GenerateFiles
my $package_version;
my $package_bugreport;
my $package_url;
+ my ($majorver, $minorver);
# Parse configure.in to get version numbers
open(my $c, '<', "configure.in")
@@ -171,8 +171,8 @@ sub GenerateFiles
{
confess "Bad format of version: $self->{strver}\n";
}
- $self->{numver} = sprintf("%d%04d", $1, $2 ? $2 : 0);
- $self->{majorver} = sprintf("%d", $1);
+ $majorver = sprintf("%d", $1);
+ $minorver = sprintf("%d", $2 ? $2 : 0);
}
}
close($c);
@@ -440,11 +440,13 @@ sub GenerateFiles
PG_INT128_TYPE => undef,
PG_INT64_TYPE => 'long long int',
PG_KRB_SRVNAM => qq{"postgres"},
- PG_MAJORVERSION => qq{"$self->{majorver}"},
+ PG_MAJORVERSION => qq{"$majorver"},
+ PG_MAJORVERSION_NUM => $majorver,
+ PG_MINORVERSION_NUM => $minorver,
PG_PRINTF_ATTRIBUTE => undef,
PG_USE_STDBOOL => 1,
PG_VERSION => qq{"$package_version$extraver"},
- PG_VERSION_NUM => $self->{numver},
+ PG_VERSION_NUM => sprintf("%d%04d", $majorver, $minorver),
PG_VERSION_STR =>
qq{"PostgreSQL $package_version$extraver, compiled by Visual C++ build " CppAsString2(_MSC_VER) ", $bits-bit"},
PROFILE_PID_DIR => undef,
@@ -778,7 +780,7 @@ EOF
chdir('src/backend/catalog');
my $bki_srcs = join(' ../../../src/include/catalog/', @bki_srcs);
system(
- "perl genbki.pl --include-path ../../../src/include/ --set-version=$self->{majorver} $bki_srcs"
+ "perl genbki.pl --include-path ../../../src/include/ --set-version=$majorver $bki_srcs"
);
open(my $f, '>', 'bki-stamp')
|| confess "Could not touch bki-stamp";
@@ -813,7 +815,7 @@ EOF
|| croak "Could not write to version.sgml\n";
print $o <<EOF;
<!ENTITY version "$package_version">
-<!ENTITY majorversion "$self->{majorver}">
+<!ENTITY majorversion "$majorver">
EOF
close($o);
return;
diff --git a/src/tools/version_stamp.pl b/src/tools/version_stamp.pl
index d8ab8d9de8f..cb59ad234ab 100755
--- a/src/tools/version_stamp.pl
+++ b/src/tools/version_stamp.pl
@@ -30,32 +30,27 @@ my $majorversion = 13;
my $minor = shift;
defined($minor) || die "$0: missing required argument: minor-version\n";
-my ($dotneeded, $numericminor);
+my ($dotneeded);
if ($minor =~ m/^\d+$/)
{
$dotneeded = 1;
- $numericminor = $minor;
}
elsif ($minor eq "devel")
{
$dotneeded = 0;
- $numericminor = 0;
}
elsif ($minor =~ m/^alpha\d+$/)
{
$dotneeded = 0;
- $numericminor = 0;
}
elsif ($minor =~ m/^beta\d+$/)
{
$dotneeded = 0;
- $numericminor = 0;
}
elsif ($minor =~ m/^rc\d+$/)
{
$dotneeded = 0;
- $numericminor = 0;
}
else
{
@@ -73,8 +68,6 @@ else
{
$fullversion = $majorversion . $minor;
}
-my $numericversion = $majorversion . "." . $numericminor;
-my $padnumericversion = sprintf("%d%04d", $majorversion, $numericminor);
# Get the autoconf version number for eventual nag message
# (this also ensures we're in the right directory)
@@ -102,11 +95,6 @@ sed_file("configure.in",
"-e 's/AC_INIT(\\[PostgreSQL\\], \\[[0-9a-z.]*\\]/AC_INIT([PostgreSQL], [$fullversion]/'"
);
-sed_file("src/port/win32ver.rc",
- "-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";
print "Don't forget to run autoconf $aconfver before committing.\n";