meson: Improve PG_VERSION_STR generation

Enterprise / PostgreSQL - Andres Freund [anarazel.de] - 9 December 2022 16:54 UTC

Previously the host operating system and 32/64 bit were not included and the build machine's cpu was used, which is potentially wrong for cross builds.

Author: Juan José Santamaría Flecha Author: Andres Freund Discussion: https://postgr.es/m/CAC+AXB16gwYhKCdS+t0pk3U7kKtpVj5L-ynmhK3Gbea330At3w@mail.gmail.com

###

diff --git a/meson.build b/meson.build
index 3cc941c7f3..a62d8171cc 100644
--- a/meson.build
+++ b/meson.build
@@ -143,12 +143,11 @@ cdata.set_quoted('PACKAGE_TARNAME', 'postgresql')

pg_version += get_option('extra_version')
cdata.set_quoted('PG_VERSION', pg_version)
-cdata.set_quoted('PG_VERSION_STR', 'PostgreSQL @0@ on @1@, compiled by @2@-@3@'.format(
- pg_version, build_machine.cpu_family(), cc.get_id(), cc.version()))
cdata.set_quoted('PG_MAJORVERSION', pg_version_major.to_string())
cdata.set('PG_MAJORVERSION_NUM', pg_version_major)
cdata.set('PG_MINORVERSION_NUM', pg_version_minor)
cdata.set('PG_VERSION_NUM', pg_version_num)
+# PG_VERSION_STR is built later, it depends compiler test results
cdata.set_quoted('CONFIGURE_ARGS', '')


@@ -2453,6 +2452,15 @@ cdata.set('MEMSET_LOOP_LIMIT', memset_loop_limit)
cdata.set_quoted('DLSUFFIX', dlsuffix)


+# built later than the rest of the version metadata, we need SIZEOF_VOID_P
+cdata.set_quoted('PG_VERSION_STR',
+ 'PostgreSQL @0@ on @1@-@2@, compiled by @3@-@4@, @5@-bit'.format(
+ pg_version, host_machine.cpu_family(), host_system,
+ cc.get_id(), cc.version(), cdata.get('SIZEOF_VOID_P') * 8,
+ )
+)
+
+

###############################################################
# Threading

fc7852c6cb meson: Improve PG_VERSION_STR generation
meson.build | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

Upstream: git.postgresql.org


  • Share