@@ -21,8 +21,9 @@ LIBS_linux=( OpenSSL Curl ICU )
2121SUBPLATFORMS_ios=( iPhoneSimulator5.1 iPhoneSimulator6.1 iPhoneSimulator7.1 iPhoneSimulator8.2 iPhoneSimulator8.3 iPhoneOS8.2 iPhoneOS8.3 )
2222
2323# Fetch settings
24- FETCH_DIR=` pwd` /fetched
25- EXTRACT_DIR=` pwd`
24+ SCRIPT_DIR=$( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd)
25+ FETCH_DIR=" ${SCRIPT_DIR} /fetched"
26+ EXTRACT_DIR=" ${SCRIPT_DIR} "
2627URL=" http://downloads.livecode.com/prebuilts"
2728
2829mkdir -p " ${FETCH_DIR} "
@@ -44,11 +45,18 @@ function fetchLibrary {
4445
4546 if [ ! -f " ${FETCH_DIR} /${NAME} .tar.bz2" ] ; then
4647 echo " Fetching library: ${NAME} "
47- curl --silent " ${URL} /${NAME} .tar.bz2" -o " ${FETCH_DIR} /${NAME} .tar.bz2"
48- # cp "`pwd`/packaged/${NAME}.tar.bz2" "${FETCH_DIR}/${NAME}.tar.bz2"
48+
49+ # Download using an HTTP client of some variety
50+ if $( which curl 2> /dev/null) ; then
51+ curl --silent " ${URL} /${NAME} .tar.bz2" -o " ${FETCH_DIR} /${NAME} .tar.bz2"
52+ else
53+ # Perl as a last resort (useful for Cygwin)
54+ perl -MLWP::Simple -e " getstore('${URL} /${NAME} .tar.bz2', '${FETCH_DIR} /${NAME} .tar.bz2') == 200 or exit 1"
55+ fi
56+
4957 if [ $? -ne 0 ] ; then
5058 echo " failed"
51- exit
59+ exit 1
5260 fi
5361
5462 echo " Extracting library: ${NAME} "
@@ -59,7 +67,7 @@ function fetchLibrary {
5967 cd " ${DIR} "
6068 if [ " ${RESULT} " -ne 0 ] ; then
6169 echo " failed"
62- exit
70+ exit 1
6371 fi
6472 else
6573 echo " Already fetched: ${NAME} "
7280 SELECTED_PLATFORMS=" $@ "
7381fi
7482
75- echo " $SELECTED_PLATFORMS "
83+ for PLATFORM in ${SELECTED_PLATFORMS} ; do
84+ # Work around an issue where Gyp is too enthusiastic in path-ifying arguments
85+ PLATFORM=$( basename " $PLATFORM " )
7686
77- for PLATFORM in " ${SELECTED_PLATFORMS} " ; do
7887 eval " ARCHS=( \$ {ARCHS_${PLATFORM} [@]} )"
7988 eval " LIBS=( \$ {LIBS_${PLATFORM} [@]} )"
8089 eval " SUBPLATFORMS=( \$ {SUBPLATFORMS_${PLATFORM} [@]} )"
@@ -93,7 +102,11 @@ for PLATFORM in "${SELECTED_PLATFORMS}" ; do
93102
94103 # Re-name the "i386" output folder to "x86"
95104 if [ -d " ${EXTRACT_DIR} /lib/${PLATFORM} /i386" ] ; then
96- mv " ${EXTRACT_DIR} /lib/${PLATFORM} /i386" " ${EXTRACT_DIR} /lib/${PLATFORM} /x86"
105+ if [ ! -d " ${EXTRACT_DIR} /lib/${PLATFORM} /x86" ] ; then
106+ mkdir " ${EXTRACT_DIR} /lib/${PLATFORM} /x86"
107+ fi
108+ mv " ${EXTRACT_DIR} /lib/${PLATFORM} /i386" /* " ${EXTRACT_DIR} /lib/${PLATFORM} /x86/"
109+ rmdir " ${EXTRACT_DIR} /lib/${PLATFORM} /i386"
97110 fi
98111done
99112
0 commit comments