-
Notifications
You must be signed in to change notification settings - Fork 14
/
configure
executable file
·118 lines (107 loc) · 3.58 KB
/
configure
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/bin/bash
prefix=/opt
prefix_set=false
pkg_config_path=''
pkg_config_path_set=false
common_packages=" mono;2.6"
usage ()
{
echo "Usage : configure [OPTION]... [--config=CONFIG]"
echo
echo "Options:"
echo " --prefix=PREFIX install architecture-independent files in PREFIX"
echo " [/usr/local]"
echo
}
check_package ()
{
name=`echo $1 | cut -d\; -f1`
version=`echo $1 | cut -d\; -f2`
echo -n "Checking for package '$name'.." | tee -a config.log
pkg-config --atleast-version=$version $name
if [ $? -ne 0 ]; then
echo " ERROR: Package named '$name' >= $version not found." | tee -a config.log
echo "Try adjusting your PKG_CONFIG_PATH environment variable." | tee -a config.log
return 1
fi
echo " found." | tee -a config.log
}
check_required_packages ()
{
echo "Looking for required packages" | tee config.log
var=required_packages_$config
for pkg in $common_packages ${!var}; do
check_package $pkg
retval=$?
[ $retval -ne 0 ] && return $retval
done
return 0
}
check_pkg_config_path ()
{
if $pkg_config_path_set ; then
return 0
fi
if $prefix_set ; then
pkg_config_path=$prefix/lib/pkgconfig
return 0
fi
pkg_config_path=`pkg-config --variable=pc_path pkg-config | awk -F":" '{print $1}'`
if [[ $pkg_config_path == '' ]]; then
pkg_config_path=$prefix/lib/pkgconfig
fi
return 0;
}
check_darwin ()
{
# This is hacky convience thing for Mac users that just installed vanialla Mono without setting up env
# that don't have PKG_CONFIG_PATH defined.
unamestr=`uname`
if [[ "$unamestr" == 'Darwin' && -n "${PKG_CONFIG_PATH-x}" && -d /Library/Frameworks/Mono.framework/ ]]; then
echo "adding default Mono installation to PKG_CONFIG_PATH. Override by setting PKG_CONFIG_PATH"
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/
fi
}
while test x$1 != x; do
case $1 in
--prefix=*)
prefix=`echo $1 | sed 's/--prefix=//'`
prefix_set=true
;;
--prefix)
shift
prefix=$1
prefix_set=true
;;
--pkg_config_path=*)
pkg_config_path=`echo $1 | sed 's/--pkg_config_path=//'`
pkg_config_path_set=true
;;
--pkg_config_path)
shift
pkg_config_path=$1
pkg_config_path_set=true
;;
--help)
usage
exit
;;
*)
echo Unknown argument $1 >&2
usage
exit 1
;;
esac
shift
done
check_darwin
check_required_packages
check_pkg_config_path
[ $? -eq 1 ] && exit 1
echo "prefix=$prefix" > config.make
echo "pkg_config_path=$pkg_config_path" >> config.make
echo
echo "$PACKAGE has been configured with "
echo " prefix = $prefix"
echo " pkg_config_path = $pkg_config_path"
echo