Skip to content

Commit

Permalink
Convert has_lib.sh to sh so it also works on BSD OSes
Browse files Browse the repository at this point in the history
  • Loading branch information
hakkiplaten authored and LinusU committed Oct 23, 2016
1 parent 317a235 commit 1727d66
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions util/has_lib.sh
@@ -1,26 +1,27 @@
#!/bin/bash
#!/bin/sh

has_ldconfig() {
hash ldconfig 2>/dev/null
}

has_system_lib() {
local regex="lib$1.+(so|dylib)"
regex="lib$1.+(so|dylib)"

# Add /sbin to path as ldconfig is located there on some systems - e.g. Debian
# (and it still can be used by unprivileged users):
PATH="$PATH:/sbin"
export PATH
# Try using ldconfig on linux systems
if $(has_ldconfig); then

# Try using ldconfig on Linux systems
if has_ldconfig; then
for _ in $(ldconfig -p 2>/dev/null | grep -E "$regex"); do
return 0
done
fi

# Try just checking common library locations
for dir in /lib /usr/lib /usr/local/lib /opt/local/lib /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu; do
test -d $dir && ls $dir | grep -E "$regex" && return 0
test -d "$dir" && echo "$dir"/* | grep -E "$regex" && return 0
done

return 1
Expand Down Expand Up @@ -52,7 +53,7 @@ case "$1" in
result=$?
;;
*)
>&2 echo "Unknown library: $1"
echo "Unknown library: $1"
exit 1
esac

Expand Down

0 comments on commit 1727d66

Please sign in to comment.