forked from hush/hush3
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.4 KiB
72 lines
2.4 KiB
#!/bin/bash
|
|
# Copyright ? various authors too lazy to put a copyright header
|
|
# Copyright 2019 The Hush Developers
|
|
|
|
PACKAGE_DIR="$@"
|
|
mkdir ${PACKAGE_DIR}
|
|
echo "Created ${PACKAGE_DIR}"
|
|
|
|
binaries=("komodo-cli" "komodod")
|
|
alllibs=()
|
|
for binary in "${binaries[@]}";
|
|
do
|
|
echo "Processing binary ${binary}"
|
|
# do the work in the destination directory
|
|
cp src/${binary} ${PACKAGE_DIR}
|
|
# find the dylibs to copy for komodod
|
|
DYLIBS=`otool -L ${PACKAGE_DIR}/${binary} | grep "/usr/local" | awk -F' ' '{ print $1 }'`
|
|
echo "copying ${DYLIBS} to ${PACKAGE_DIR}"
|
|
# copy the dylibs to the srcdir
|
|
for dylib in ${DYLIBS}; do cp -rf ${dylib} ${PACKAGE_DIR}; done
|
|
done
|
|
|
|
libraries=("libgcc_s.1.dylib" "libgomp.1.dylib" "libidn2.0.dylib" "libstdc++.6.dylib")
|
|
|
|
for binary in "${libraries[@]}";
|
|
do
|
|
echo "Processing binary ${binary}"
|
|
# find the dylibs to copy for komodod
|
|
DYLIBS=`otool -L ${PACKAGE_DIR}/${binary} | grep "/usr/local" | awk -F' ' '{ print $1 }'`
|
|
echo "copying ${DYLIBS} to ${PACKAGE_DIR}"
|
|
# copy the dylibs to the srcdir
|
|
for dylib in ${DYLIBS}; do cp -rf ${dylib} ${PACKAGE_DIR}; alllibs+=(${dylib}); done
|
|
done
|
|
|
|
indirectlibraries=("libintl.8.dylib" "libunistring.2.dylib")
|
|
|
|
for binary in "${indirectlibraries[@]}";
|
|
do
|
|
echo "Processing binary ${binary}"
|
|
# Need to undo this for the dylibs when we are done
|
|
chmod 755 src/${binary}
|
|
# find the dylibs to copy for komodod
|
|
DYLIBS=`otool -L ${PACKAGE_DIR}/${binary} | grep "/usr/local" | awk -F' ' '{ print $1 }'`
|
|
echo "copying indirect ${DYLIBS} to ${PACKAGE_DIR}"
|
|
# copy the dylibs to the dest dir
|
|
for dylib in ${DYLIBS}; do cp -rf ${dylib} ${PACKAGE_DIR}; alllibs+=(${dylib}); done
|
|
done
|
|
|
|
for binary in "${binaries[@]}";
|
|
do
|
|
echo "Processing binary ${binary}"
|
|
# modify komodod to point to dylibs
|
|
echo "modifying ${binary} to use local libraries"
|
|
for dylib in "${alllibs[@]}"
|
|
do
|
|
echo "Next lib is ${dylib} "
|
|
install_name_tool -change ${dylib} @executable_path/`basename ${dylib}` ${PACKAGE_DIR}/${binary}
|
|
done
|
|
chmod +x ${PACKAGE_DIR}/${binary}
|
|
done
|
|
|
|
for binary in "${libraries[@]}";
|
|
do
|
|
echo "Processing binary ${binary}"
|
|
# modify libraries to point to dylibs
|
|
echo "modifying ${binary} to use local libraries"
|
|
for dylib in "${alllibs[@]}"
|
|
do
|
|
echo "Next lib is ${dylib} "
|
|
install_name_tool -change ${dylib} @executable_path/`basename ${dylib}` ${PACKAGE_DIR}/${binary}
|
|
done
|
|
done
|
|
|