From 910047de00884a566b9a674b886bc383eb02b91e Mon Sep 17 00:00:00 2001
From: Andres Freund <andres@anarazel.de>
Date: Mon, 26 Sep 2022 17:08:45 -0700
Subject: [PATCH v17 04/23] meson: Set up absolute rpaths to libdir

While I (Andres) had planned to use relative rpaths, it looks like agreeing on
the precise path might take a bit. So set up absolute rpaths for now.
---
 meson.build | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index 474a42a2559..38b2c3aae2e 100644
--- a/meson.build
+++ b/meson.build
@@ -2471,9 +2471,22 @@ bin_install_rpaths = []
 lib_install_rpaths = []
 mod_install_rpaths = []
 
-# Add extra_lib_dirs to rpath. Not needed on darwin, as the install_name of
-# libraries in extra_lib_dirs will be used anyway.
+
+# Don't add rpaths on darwin for now - as long as only absolute references to
+# libraries are needed, absolute LC_ID_DYLIB ensures libraries can be found in
+# their final destination.
 if host_system != 'darwin'
+  # Add absolute path to libdir to rpath. This ensures installed binaries /
+  # libraries find our libraries (mainly libpq).
+  bin_install_rpaths += dir_prefix / dir_lib
+  lib_install_rpaths += dir_prefix / dir_lib
+  mod_install_rpaths += dir_prefix / dir_lib
+
+  # Add extra_lib_dirs to rpath. This ensures we find libraries we depend on.
+  #
+  # Not needed on darwin even if we use relative rpaths for our own libraries,
+  # as the install_name of libraries in extra_lib_dirs will point to their
+  # location anyway.
   bin_install_rpaths += postgres_lib_d
   lib_install_rpaths += postgres_lib_d
   mod_install_rpaths += postgres_lib_d
-- 
2.37.3.542.gdd3f6c4cae

