diff options
Diffstat (limited to 'pkg/osx/cp-with-libs')
-rwxr-xr-x | pkg/osx/cp-with-libs | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/pkg/osx/cp-with-libs b/pkg/osx/cp-with-libs deleted file mode 100755 index 04fb5bc6..00000000 --- a/pkg/osx/cp-with-libs +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash -# -# Copy a program to the specified destination, along -# with libraries it depends upon. - -src_bin=$1 -dest_dir=$2 - -# Returns true if the specified file is a dylib. - -is_dylib() { - case "$1" in - *.dylib) - true - ;; - *) - false - ;; - esac -} - -# Returns true if the specified file is in a system location -# (/System or /usr): - -is_sys_lib() { - case "$1" in - /System/*) - true - ;; - /usr/*) - true - ;; - *) - false - ;; - esac -} - -# Install the specified file to the location in dest_dir, along with -# any libraries it depends upon (recursively): - -install_with_deps() { - local src_file - local bin_name - local dest_file - local lib_name - - src_file=$1 - bin_name=$(basename "$src_file") - dest_file="$dest_dir/$bin_name" - - # Already copied into the package? Don't copy again. - # Prevents endless recursion. - - if [ -e "$dest_file" ]; then - return - fi - - echo "Installing $bin_name..." - - # Copy file into package. - - cp "$src_file" "$dest_file" - - # Copy libraries that this file depends on: - - otool -L "$src_file" | tail -n +2 | sed 's/^.//; s/ (.*//' | while read; do - - # Don't copy system libraries - - if is_sys_lib "$REPLY"; then - continue - fi - - #echo " - $bin_name depends on $REPLY" - - # Copy this library into the package, and: - # recursively install any libraries that _this_ library depends on: - - install_with_deps "$REPLY" - - # Change destination binary to depend on the - # copy inside the package: - - lib_name=$(basename "$REPLY") - install_name_tool -change "$REPLY" "@executable_path/$lib_name" \ - "$dest_file" - done - - # If this is a library that we have installed, change its id: - - if is_dylib "$dest_file"; then - install_name_tool -id "@executable_path/$bin_name" "$dest_file" - fi -} - -# Install the file, and recursively install any libraries: - -install_with_deps "$src_bin" - |