summaryrefslogtreecommitdiff
path: root/src/lib/librelib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/librelib')
-rwxr-xr-xsrc/lib/librelib22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/lib/librelib b/src/lib/librelib
index 004c8b1..b3fb9c2 100755
--- a/src/lib/librelib
+++ b/src/lib/librelib
@@ -46,7 +46,7 @@ usage() {
Hardcoding that path is the way of the dark side."
echo
prose 'By default, it looks for the files in `%s`, but this can be
- changed with the environmental variable LIBRETOOLS_LIBDIR.' "$default_libdir"
+ changed with the environmental variable LIBRETOOLS_LIBRARY_PATH.' "$default_libdir"
echo
print "Example usage:"
printf ' . $(%s conf)\n' "$cmd"
@@ -65,19 +65,25 @@ main() {
return 0 # $EXIT_SUCCESS
fi
- if [[ -z $LIBRETOOLS_LIBDIR ]]; then
- export LIBRETOOLS_LIBDIR=$default_libdir
+ if [[ -z $LIBRETOOLS_LIBRARY_PATH ]]; then
+ export LIBRETOOLS_LIBRARY_PATH=$default_libdir
fi
lib=$1
lib=${lib#libre}
lib=${lib%.sh}
- for file in ${lib} libre${lib} ${lib}.sh libre${lib}.sh; do
- if [[ -f "$LIBRETOOLS_LIBDIR/$file" ]]; then
- printf '%s\n' "$LIBRETOOLS_LIBDIR/$file"
- return 0 # $EXIT_SUCCESS
- fi
+ local libdir_array
+ IFS=: read -r -a libdir_array <<<"$LIBRETOOLS_LIBRARY_PATH"
+
+ local libdir
+ for libdir in "${libdir_array[@]}"; do
+ for file in ${lib} libre${lib} ${lib}.sh libre${lib}.sh; do
+ if [[ -f "$libdir/$file" ]]; then
+ printf '%s\n' "$libdir/$file"
+ return 0 # $EXIT_SUCCESS
+ fi
+ done
done
_l print '%s: could not find library: %s' "$cmd" "$lib" >&2
return 1 # $EXIT_FAILURE