-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpremake.sh
executable file
·90 lines (70 loc) · 2.52 KB
/
premake.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/bash
PATH=/usr/local/bin:/usr/local/sbin:/bin:/usr/bin:/usr/sbin:/sbin
#srcdir="/tmp"
srcdir="/usr/local/src"
pwd=`pwd`
echo "check depend library need for moon"
sleep 1
declare -a Packagename=(
'clearsilver'
'libmemcached'
'libjsonc'
'libmongo-client'
'fcgi'
'libmarkdown');
declare -a Judgement=(
'test -e "/usr/local/include/ClearSilver/ClearSilver.h"'
'pkg-config --cflags libmemcached > /dev/null 2>&1'
'pkg-config --cflags json > /dev/null 2>&1'
'pkg-config --cflags libmongo-client > /dev/null 2>&1'
'test -e "/usr/local/lib/libfcgi.a"'
'test -e "/usr/local/lib/libmarkdown.a"');
declare -a Download=(
'git clone https://github.com/bigmaliang/clearsilver.git clearsilver'
'wget https://launchpad.net/libmemcached/1.0/0.53/+download/libmemcached-0.53.tar.gz && mkdir libmemcached && tar zxvf libmemcached-0.53.tar.gz -C libmemcached/ --strip-components=1'
'git clone https://github.com/jehiah/json-c.git libjsonc'
'git clone https://github.com/bigmaliang/libmongo-client.git libmongo-client'
'git clone https://github.com/bigmaliang/fcgi.git fcgi'
'git clone https://github.com/Orc/discount.git libmarkdown');
declare -a Config=(
'./autogen.sh --disable-wdb --disable-perl --disable-ruby --disable-java --disable-python'
'./configure'
'./autogen.sh && ./configure'
'autoreconf -i && ./configure'
'./configure'
'./configure.sh');
echo -n "config /usr/local/lib"
if ! grep '/usr/local/lib' /etc/ld.so.conf > /dev/null 2>&1
then
echo "/usr/local/lib" >> /etc/ld.so.conf
ldconfig
fi
if ! grep '/usr/local/lib/pkgconfig' /etc/profile > /dev/null 2>&1
then
echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:$PKG_CONFIG_PATH" >> /etc/profile
fi
echo "ok"
for (( i = 0 ; i < ${#Packagename[@]} ; i++ ))
do
echo -n "***$i. ${Packagename[$i]}..."
sleep 1
if eval ${Judgement[$i]}
then
echo "ok"
else
echo "not ok, need install"
echo " installing..."
cd $srcdir
rm -rf ${Packagename[$i]}*
eval ${Download[$i]} > ${Packagename[$i]}.log 2>&1 &&
cd ${Packagename[$i]}
eval ${Config[$i]} >> ../${Packagename[$i]}.log 2>&1 &&
make >> ../${Packagename[$i]}.log 2>&1
make install >> ../${Packagename[$i]}.log 2>&1
ret=$?
[ $ret -eq 0 ] && echo " ok" || echo " not ok, see $srcdir/${Packagename[$i]}.log for more information"
[ $ret -ne 0 ] && exit 1
cd $pwd
fi
done
echo "all done, compile will be ok now"