]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
run.in: Add intelligent prepend function.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 16 Jan 2020 17:15:41 +0000 (17:15 +0000)
committerErik Skultety <eskultet@redhat.com>
Tue, 21 Jan 2020 12:04:40 +0000 (13:04 +0100)
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 <rjones@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
run.in

diff --git a/run.in b/run.in
index 8574f81463bf1a50c1ea1e6207eda119fd90f2ce..3118f9a9a45b64db52952c15dbc0d66c7ee69e91 100644 (file)
--- a/run.in
+++ b/run.in
 #
 #----------------------------------------------------------------------
 
+# 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