From ae428ca723219fbe64c79cc7d0137c82691553bb Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 16 Jan 2020 17:15:41 +0000 Subject: [PATCH] run.in: Add intelligent prepend function. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This has been used in libguestfs and libnbd for quite a while as it makes the ./run script easier to read and write. See also: http://stackoverflow.com/a/9631350 Signed-off-by: Richard W.M. Jones Reviewed-by: Erik Skultety Reviewed-by: Daniel P. Berrangé --- run.in | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/run.in b/run.in index 8574f81463..3118f9a9a4 100644 --- a/run.in +++ b/run.in @@ -42,22 +42,20 @@ # #---------------------------------------------------------------------- +# Function to intelligently prepend a path to an environment variable. +# See http://stackoverflow.com/a/9631350 +prepend() +{ + eval $1="$2\${$1:+:\$$1}" +} + # Find this script. b=@abs_builddir@ -library_path="$b/src/.libs" -if [ -z "$LD_LIBRARY_PATH" ]; then - LD_LIBRARY_PATH=$library_path -else - LD_LIBRARY_PATH="$library_path:$LD_LIBRARY_PATH" -fi +prepend LD_LIBRARY_PATH "$b/src/.libs" export LD_LIBRARY_PATH -if [ -z "$PKG_CONFIG_PATH" ]; then - PKG_CONFIG_PATH="$b/src" -else - PKG_CONFIG_PATH="$b/src:$PKG_CONFIG_PATH" -fi +prepend PKG_CONFIG_PATH "$b/src" export PKG_CONFIG_PATH # Ensure that any 3rd party apps using libvirt.so from the build tree get