meson: Fix installation path computation
authorPeter Eisentraut <peter@eisentraut.org>
Fri, 27 Jan 2023 09:49:17 +0000 (10:49 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Fri, 27 Jan 2023 10:57:11 +0000 (11:57 +0100)
We have the long-standing logic to append "postgresql" to some
installation paths if it does not already contain "pgsql" or
"postgres".  The existing meson implementation of that only considered
the subdirectory under the prefix, not the prefix itself.  Fix that,
so that it now works the same way as the implementation in
Makefile.global.

Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://www.postgresql.org/message-id/a6a6de12-f705-2b33-2fd9-9743277deb08@enterprisedb.com

meson.build

index 45fb9dd616eea0d1396b3e0a983b3f7b7a154e09..e379a252a519c39244ccbbc3f56de4685aa71f0d 100644 (file)
@@ -465,22 +465,24 @@ pkg = 'postgresql'
 
 dir_prefix = get_option('prefix')
 
+dir_prefix_contains_pg = (dir_prefix.contains('pgsql') or dir_prefix.contains('postgres'))
+
 dir_bin = get_option('bindir')
 
 dir_data = get_option('datadir')
-if not (dir_data.contains('pgsql') or dir_data.contains('postgres'))
+if not (dir_prefix_contains_pg or dir_data.contains('pgsql') or dir_data.contains('postgres'))
   dir_data = dir_data / pkg
 endif
 
 dir_sysconf = get_option('sysconfdir')
-if not (dir_sysconf.contains('pgsql') or dir_sysconf.contains('postgres'))
+if not (dir_prefix_contains_pg or dir_sysconf.contains('pgsql') or dir_sysconf.contains('postgres'))
   dir_sysconf = dir_sysconf / pkg
 endif
 
 dir_lib = get_option('libdir')
 
 dir_lib_pkg = dir_lib
-if not (dir_lib_pkg.contains('pgsql') or dir_lib_pkg.contains('postgres'))
+if not (dir_prefix_contains_pg or dir_lib_pkg.contains('pgsql') or dir_lib_pkg.contains('postgres'))
   dir_lib_pkg = dir_lib_pkg / pkg
 endif
 
@@ -490,7 +492,7 @@ dir_include = get_option('includedir')
 
 dir_include_pkg = dir_include
 dir_include_pkg_rel = ''
-if not (dir_include_pkg.contains('pgsql') or dir_include_pkg.contains('postgres'))
+if not (dir_prefix_contains_pg or dir_include_pkg.contains('pgsql') or dir_include_pkg.contains('postgres'))
   dir_include_pkg = dir_include_pkg / pkg
   dir_include_pkg_rel = pkg
 endif