@@ -30,61 +30,77 @@ function usage() {
30
30
echo " $0 [ios|macos|all] [<release tag>]"
31
31
}
32
32
33
- function download () {
33
+ function download_arch () {
34
34
local plat=$1
35
-
36
- local oname=" build/pre/${TAG} -$plat .zip"
37
- if [[ -f " $oname " ]]; then
38
- echo " $oname already exist,no need download."
35
+ local join=$2
36
+
37
+ if [[ " $join " ]]; then
38
+ join=" -$join "
39
+ else
40
+ join=" "
41
+ fi
42
+
43
+ JOIN=" $join "
44
+ ONAME=" build/pre/${TAG} -${plat}${join} .zip"
45
+ if [[ -f " $ONAME " ]]; then
46
+ echo " $ONAME already exist,no need download."
39
47
return
40
48
fi
41
49
42
- local fname=" $LIB_NAME -$plat -universal-$VER .zip"
50
+ local fname=" $LIB_NAME -$plat -universal${join} -$VER .zip"
43
51
local url=" https://github.com/debugly/MRFFToolChainBuildShell/releases/download/$TAG /$fname "
44
52
45
53
echo " ---[download $fname ]-----------------"
46
54
echo " $url "
47
55
mkdir -p build/pre
48
- local tname=" build/pre/${TAG} .tmp"
56
+ local tname=" build/pre/${TAG}${join} .tmp"
49
57
curl -L " $url " -o " $tname "
50
58
if [[ $? -eq 0 ]]; then
51
- mv " $tname " " $oname "
59
+ mv " $tname " " $ONAME "
52
60
fi
53
61
}
54
62
55
63
function extract(){
56
64
local plat=$1
57
- local oname=" build/pre/${TAG} -$plat .zip"
58
-
59
- if [[ -f " $oname " ]]; then
60
- mkdir -p build/product/$plat /universal
61
- unzip -oq " $oname " -d build/product/$plat /universal
65
+ if [[ -f " $ONAME " ]]; then
66
+ PRODUCT_DIR=" build/product/$plat /universal${JOIN} "
67
+ mkdir -p " $PRODUCT_DIR "
68
+ unzip -oq " $ONAME " -d " $PRODUCT_DIR "
62
69
echo " extract zip file"
63
70
if command -v tree > /dev/null 2>&1 ; then
64
- tree -L 2 build/product/ $plat /universal
71
+ tree -L 2 " $PRODUCT_DIR "
65
72
fi
66
73
else
67
- echo " you need download ${oname } firstly."
74
+ echo " you need download ${ONAME } firstly."
68
75
exit 1
69
76
fi
70
77
}
71
78
72
79
function fix_prefix(){
73
80
local plat=$1
74
- local UNI_PC_DIR=" build/product/$plat /universal/$LIB_NAME /lib/pkgconfig"
75
-
76
- if ls ${UNI_PC_DIR} /* .pc > /dev/null 2>&1 ; then
77
- echo " fix $plat $LIB_NAME pc file prefix"
78
- p=$( cd " build/product/$plat /universal/$LIB_NAME " ; pwd)
79
- escaped_p=$( echo $p | sed ' s/\//\\\//g' )
80
- sed -i " " " s/^prefix=.*/prefix=$escaped_p /" " $UNI_PC_DIR /" * .pc
81
+ local pc_dir=" $PRODUCT_DIR /$LIB_NAME /lib/pkgconfig"
82
+ if [[ -d " $pc_dir " ]]; then
83
+ if ls ${pc_dir} /* .pc > /dev/null 2>&1 ; then
84
+ echo " fix $plat $LIB_NAME pc file prefix"
85
+ p=$( cd " $PRODUCT_DIR /$LIB_NAME " ; pwd)
86
+ escaped_p=$( echo $p | sed ' s/\//\\\//g' )
87
+ sed -i " " " s/^prefix=.*/prefix=$escaped_p /" " $pc_dir /" * .pc
88
+ fi
81
89
fi
82
90
}
83
91
84
- function install(){
85
- download " $* "
86
- extract " $* "
87
- fix_prefix " $* "
92
+ function install() {
93
+ local plat=$1
94
+ if [[ " $plat " == ' ios' || " $plat " == ' tvos' ]]; then
95
+ download_arch " $plat "
96
+ extract " $plat "
97
+ fix_prefix " $plat "
98
+ download_arch " $plat " " simulator"
99
+ extract " $plat "
100
+ fix_prefix " $plat "
101
+ else
102
+ download_arch " $plat "
103
+ fi
88
104
}
89
105
90
106
if [[ " $PLAT " != ' ios' && " $PLAT " != ' macos' && " $PLAT " != ' all' ]]; then
103
119
LIB_NAME=$( echo $TAG | awk -F - ' {print $1}' )
104
120
VER=$( echo $TAG | awk -F - ' {print $2}' )
105
121
106
- if [[ " $PLAT " == ' ios' || " $PLAT " == ' macos' ]]; then
122
+ if [[ " $PLAT " == ' ios' || " $PLAT " == ' macos' || " $PLAT " == ' tvos ' ]]; then
107
123
install $PLAT
108
- elif [[ " $PLAT " == ' all' ]]; then
109
- plats=" ios macos"
124
+ elif [[ " $PLAT " == ' all' ]]; then
125
+ plats=" ios macos tvos "
110
126
for plat in $plats ; do
111
127
install $plat
112
128
done
0 commit comments