summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorGregorio Litenstein <g.litenstein@gmail.com>2017-07-21 23:59:29 (GMT)
committerGregorio Litenstein <g.litenstein@gmail.com>2017-07-22 15:49:48 (GMT)
commitbe2e33c9d4bfec190eea3b996579e551c1bf906f (patch)
tree3a26dce99999a5f9ca32eeda7e28882a89c3860e /tools
parentc0ba8a7e274b67ad994950b2c34b3c3a1aea4e5a (diff)
downloadmxe-be2e33c9d4bfec190eea3b996579e551c1bf906f.zip
mxe-be2e33c9d4bfec190eea3b996579e551c1bf906f.tar.gz
mxe-be2e33c9d4bfec190eea3b996579e551c1bf906f.tar.bz2
copydlldeps.sh: Fixes for macOS.
The current version fails in macOS due to some differences in “find” and “cp”. This takes that into account.
Diffstat (limited to 'tools')
-rwxr-xr-xtools/copydlldeps.sh26
1 files changed, 21 insertions, 5 deletions
diff --git a/tools/copydlldeps.sh b/tools/copydlldeps.sh
index b946e59..8ead4a3 100755
--- a/tools/copydlldeps.sh
+++ b/tools/copydlldeps.sh
@@ -228,13 +228,19 @@ fi
str_inputFileList=""
if [ "$indir" ]; then
for curPath in $( echo "${indir}" | tr -s ' ' | tr ' ' '\n' ); do
- curList=$( find $curPath -iregex '.*\(dll\|exe\)' | tr '\n' ' ' )
+ if [ `uname -s` == "Darwin" ]; then
+ curList=$( find $curPath -iname *.exe -or -iname *.dll | tr '\n' ' ' )
+ else curList=$( find $curPath -iregex '.*\(dll\|exe\)' | tr '\n' ' ' )
+ fi
str_inputFileList+=" $curList"
done
fi
if [ "$infile" ]; then
for curFile in $( echo "${infile}" | tr -s ' ' | tr ' ' '\n' ); do
- curString=$( find $curFile -iregex '.*\(dll\|exe\)' | tr '\n' ' ' )
+ if [ `uname -s` == "Darwin" ]; then
+ curString=$( find $curPath -iname *.exe -or -iname *.dll | tr '\n' ' ' )
+ else curString=$( find $curPath -iregex '.*\(dll\|exe\)' | tr '\n' ' ' )
+ fi
str_inputFileList+=" $curString"
done
fi
@@ -352,14 +358,20 @@ process_enforced_deps(){
# if we would do this file recursively, we should loop to find those and append them all to the list
str_srcDirList+=" $enforcedDirectory"
# now we search for the dll and exe files to be included
- string=$( find $enforcedDirectory -maxdepth 1 -iregex '.*\(dll\|exe\)' | tr '\n' ' ' )
+ if [ `uname -s` == "Darwin" ]; then
+ string=$( find $enforcedDirectory -maxdepth 1 -iname *.exe -or -iname *.dll | tr '\n' ' ' )
+ else string=$( find $enforcedDirectory -maxdepth 1 -iregex '.*\(dll\|exe\)' | tr '\n' ' ' )
+ fi
if [ "$loglevel" -gt 1 ]; then
echo "enforcedDirectory=$enforcedDirectory"
echo "we found dlls and exes:$string"
sleep 4
fi
# we hard copy it to DEST
- cp -dpRxv "${enforcedDirectory}" "$destdir"
+ if [ `uname -s` == "Darwin" ]; then
+ cp -av "${enforcedDirectory}" "$destdir"
+ else cp -dpRxv "${enforcedDirectory}" "$destdir"
+ fi
}
# beginning of the main function
@@ -414,7 +426,11 @@ for dll in $( echo $alldeps | tr '\n' ' ' ); do
if [ -e "${curFolder}/${curDll}" ]; then
counter=$( expr $counter + 1 )
if [ $opmode == "copy" ]; then
- cp -dpRxv "${curFolder}/${curDll}" "$destdir"
+ if [ `uname -s` == "Darwin" ]; then
+ cp -av "${curFolder}/${curDll}" "$destdir"
+ else cp -dpRxv "${curFolder}/${curDll}" "$destdir"
+ fi
+
elif [ $opmode == "print" ]; then
echo "found $dll in: ${curFolder}/${curDll}"
else