build: update to Mac third_party_libs_tool 1.3
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
This commit is contained in:
parent
cd8d65bddd
commit
0e5d63cd9a
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
version=1.2
|
version=1.3
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
# parse options
|
# parse options
|
||||||
|
@ -135,11 +135,14 @@ lib_scan() {
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Remove path parts for mark file
|
||||||
|
bin_mark_file=$(echo "$bin" | sed 's,/,_,g')
|
||||||
|
|
||||||
# if binary is already processed, continue
|
# if binary is already processed, continue
|
||||||
[ -d "$scratch_dir/$bin" ] && continue
|
[ -d "$scratch_dir/$bin_mark_file" ] && continue
|
||||||
|
|
||||||
# otherwise mark it processed
|
# otherwise mark it processed
|
||||||
mkdir -p "$scratch_dir/$bin"
|
mkdir -p "$scratch_dir/$bin_mark_file"
|
||||||
|
|
||||||
set --
|
set --
|
||||||
|
|
||||||
|
@ -156,6 +159,12 @@ lib_scan() {
|
||||||
'@rpath/'*)
|
'@rpath/'*)
|
||||||
lib='/usr/local/lib'"${lib#@rpath}"
|
lib='/usr/local/lib'"${lib#@rpath}"
|
||||||
;;
|
;;
|
||||||
|
'@loader_path/../../../../'*)
|
||||||
|
lib='/usr/local/'"${lib#@loader_path/../../../../}"
|
||||||
|
;;
|
||||||
|
'@loader_path/'*)
|
||||||
|
lib='/usr/local/lib'"${lib#@loader_path}"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "$lib"
|
echo "$lib"
|
||||||
|
@ -170,55 +179,13 @@ lib_scan() {
|
||||||
|
|
||||||
fully_resolve_links() {
|
fully_resolve_links() {
|
||||||
while read -r file; do
|
while read -r file; do
|
||||||
# get initial part for non-absolute path, or blank for absolute
|
while [ -h "$file" ]; do
|
||||||
path=${file%%/*}
|
file=$(readlink -f "$file")
|
||||||
# and set $file to the rest
|
|
||||||
file=${file#*/}
|
|
||||||
|
|
||||||
OLDIFS=$IFS
|
|
||||||
IFS='/'
|
|
||||||
for part in $file; do
|
|
||||||
[ ! -z "$part" ] && path=$(resolve_link "$path/$part")
|
|
||||||
done
|
done
|
||||||
IFS=$OLDIFS
|
echo "$file"
|
||||||
|
|
||||||
# remove 'foo/..' path parts
|
|
||||||
while :; do
|
|
||||||
case "$path" in
|
|
||||||
*/../*|*/..)
|
|
||||||
path=$(echo "$path" | sed 's,//*[^/][^/]*//*\.\./*,/,g')
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# remove trailing /s
|
|
||||||
while [ "$path" != "${path%/}" ]; do
|
|
||||||
path=${path%/}
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "$path"
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
resolve_link() {
|
|
||||||
file=$1
|
|
||||||
|
|
||||||
while [ -h "$file" ]; do
|
|
||||||
ls0=$(ls -ld "$file")
|
|
||||||
new_link=$(expr "$ls0" : '.* -> \(.*\)$')
|
|
||||||
if expr "$new_link" : '/.*' > /dev/null; then
|
|
||||||
file="$new_link"
|
|
||||||
else
|
|
||||||
file="${file%/*}"/"$new_link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "$file"
|
|
||||||
}
|
|
||||||
|
|
||||||
relink_all() {
|
relink_all() {
|
||||||
for exe in "$@"; do
|
for exe in "$@"; do
|
||||||
# dylib search path for executable
|
# dylib search path for executable
|
||||||
|
|
Loading…
Reference in New Issue