root / configure.ac @ 7e1fac25
History | View | Annotate | Download (6.3 kB)
1 |
# Configure script for Ganeti |
---|---|
2 |
m4_define([gnt_version_major], [2]) |
3 |
m4_define([gnt_version_minor], [1]) |
4 |
m4_define([gnt_version_revision], [0]) |
5 |
m4_define([gnt_version_suffix], [~beta2]) |
6 |
m4_define([gnt_version_full], |
7 |
m4_format([%d.%d.%d%s], |
8 |
gnt_version_major, gnt_version_minor, |
9 |
gnt_version_revision, gnt_version_suffix)) |
10 |
|
11 |
AC_PREREQ(2.59) |
12 |
AC_INIT(ganeti, gnt_version_full, ganeti@googlegroups.com) |
13 |
AC_CONFIG_AUX_DIR(autotools) |
14 |
AC_CONFIG_SRCDIR(configure) |
15 |
AM_INIT_AUTOMAKE([1.9 foreign tar-ustar -Wall -Wno-portability]) |
16 |
|
17 |
AC_SUBST([VERSION_MAJOR], gnt_version_major) |
18 |
AC_SUBST([VERSION_MINOR], gnt_version_minor) |
19 |
AC_SUBST([VERSION_REVISION], gnt_version_revision) |
20 |
AC_SUBST([VERSION_SUFFIX], gnt_version_suffix) |
21 |
AC_SUBST([VERSION_FULL], gnt_version_full) |
22 |
|
23 |
# --with-ssh-initscript=... |
24 |
AC_ARG_WITH([ssh-initscript], |
25 |
[AS_HELP_STRING([--with-ssh-initscript=SCRIPT], |
26 |
[SSH init script to use (default is /etc/init.d/ssh)] |
27 |
)], |
28 |
[ssh_initd_script="$withval"], |
29 |
[ssh_initd_script="/etc/init.d/ssh"]) |
30 |
AC_SUBST(SSH_INITD_SCRIPT, $ssh_initd_script) |
31 |
|
32 |
# --with-export-dir=... |
33 |
AC_ARG_WITH([export-dir], |
34 |
[AS_HELP_STRING([--with-export-dir=DIR], |
35 |
[directory to use by default for instance image] |
36 |
[ exports (default is /srv/ganeti/export)] |
37 |
)], |
38 |
[export_dir="$withval"], |
39 |
[export_dir="/srv/ganeti/export"]) |
40 |
AC_SUBST(EXPORT_DIR, $export_dir) |
41 |
|
42 |
# --with-os-search-path=... |
43 |
# do a bit of black sed magic to for quoting of the strings in the list |
44 |
AC_ARG_WITH([os-search-path], |
45 |
[AS_HELP_STRING([--with-os-search-path=LIST], |
46 |
[comma separated list of directories to] |
47 |
[ search for OS images (default is /srv/ganeti/os)] |
48 |
)], |
49 |
[os_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`], |
50 |
[os_search_path="'/srv/ganeti/os'"]) |
51 |
AC_SUBST(OS_SEARCH_PATH, $os_search_path) |
52 |
|
53 |
# --with-iallocator-search-path=... |
54 |
# do a bit of black sed magic to for quoting of the strings in the list |
55 |
AC_ARG_WITH([iallocator-search-path], |
56 |
[AS_HELP_STRING([--with-iallocator-search-path=LIST], |
57 |
[comma separated list of directories to] |
58 |
[ search for instance allocators (default is $libdir/ganeti/iallocators)] |
59 |
)], |
60 |
[iallocator_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`], |
61 |
[iallocator_search_path="'$libdir/$PACKAGE_NAME/iallocators'"]) |
62 |
AC_SUBST(IALLOCATOR_SEARCH_PATH, $iallocator_search_path) |
63 |
|
64 |
# --with-xen-bootloader=... |
65 |
AC_ARG_WITH([xen-bootloader], |
66 |
[AS_HELP_STRING([--with-xen-bootloader=PATH], |
67 |
[bootloader for Xen hypervisor (default is empty)] |
68 |
)], |
69 |
[xen_bootloader="$withval"], |
70 |
[xen_bootloader=]) |
71 |
AC_SUBST(XEN_BOOTLOADER, $xen_bootloader) |
72 |
|
73 |
# --with-xen-kernel=... |
74 |
AC_ARG_WITH([xen-kernel], |
75 |
[AS_HELP_STRING([--with-xen-kernel=PATH], |
76 |
[DomU kernel image for Xen hypervisor (default is /boot/vmlinuz-2.6-xenU)] |
77 |
)], |
78 |
[xen_kernel="$withval"], |
79 |
[xen_kernel="/boot/vmlinuz-2.6-xenU"]) |
80 |
AC_SUBST(XEN_KERNEL, $xen_kernel) |
81 |
|
82 |
# --with-xen-initrd=... |
83 |
AC_ARG_WITH([xen-initrd], |
84 |
[AS_HELP_STRING([--with-xen-initrd=PATH], |
85 |
[DomU initrd image for Xen hypervisor (default is /boot/initrd-2.6-xenU)] |
86 |
)], |
87 |
[xen_initrd="$withval"], |
88 |
[xen_initrd="/boot/initrd-2.6-xenU"]) |
89 |
AC_SUBST(XEN_INITRD, $xen_initrd) |
90 |
|
91 |
# --with-file-storage-dir=... |
92 |
AC_ARG_WITH([file-storage-dir], |
93 |
[AS_HELP_STRING([--with-file-storage-dir=PATH], |
94 |
[directory to store files for file-based backend] |
95 |
[ (default is /srv/ganeti/file-storage)] |
96 |
)], |
97 |
[file_storage_dir="$withval"], |
98 |
[file_storage_dir="/srv/ganeti/file-storage"]) |
99 |
AC_SUBST(FILE_STORAGE_DIR, $file_storage_dir) |
100 |
|
101 |
# --with-kvm-path=... |
102 |
AC_ARG_WITH([kvm-path], |
103 |
[AS_HELP_STRING([--with-kvm-path=PATH], |
104 |
[absolute path to the kvm binary] |
105 |
[ (default is /usr/bin/kvm)] |
106 |
)], |
107 |
[kvm_path="$withval"], |
108 |
[kvm_path="/usr/bin/kvm"]) |
109 |
AC_SUBST(KVM_PATH, $kvm_path) |
110 |
|
111 |
# --with-socat-path=... |
112 |
AC_ARG_WITH([socat-path], |
113 |
[AS_HELP_STRING([--with-socat-path=PATH], |
114 |
[absolute path to the socat binary] |
115 |
[ (default is to let configure search for it)] |
116 |
)], |
117 |
[SOCAT="$withval"], |
118 |
[]) |
119 |
|
120 |
AC_ARG_WITH([socat-escape], |
121 |
[AS_HELP_STRING([--with-socat-escape], |
122 |
[enable escape functionality found in newer socat])], |
123 |
[], |
124 |
[check_socat_escape=yes]) |
125 |
|
126 |
# ---with-lvm-stripecount=... |
127 |
AC_ARG_WITH([lvm-stripecount], |
128 |
[AS_HELP_STRING([--with-lvm-stripecount=NUM], |
129 |
[the number of stripes to use for LVM volumes] |
130 |
[ (default is 1)] |
131 |
)], |
132 |
[lvm_stripecount="$withval"], |
133 |
[lvm_stripecount="1"]) |
134 |
AC_SUBST(LVM_STRIPECOUNT, $lvm_stripecount) |
135 |
|
136 |
# Check common programs |
137 |
AC_PROG_INSTALL |
138 |
AC_PROG_LN_S |
139 |
|
140 |
# Check for docbook programs |
141 |
AC_ARG_VAR(DOCBOOK2MAN, [docbook2man path]) |
142 |
AC_PATH_PROG(DOCBOOK2MAN, [docbook2man], []) |
143 |
if test -z "$DOCBOOK2MAN" |
144 |
then |
145 |
AC_MSG_WARN([docbook2man not found, man pages rebuild will not be possible]) |
146 |
fi |
147 |
|
148 |
AC_ARG_VAR(DOCBOOK2HTML, [docbook2html path]) |
149 |
AC_PATH_PROG(DOCBOOK2HTML, [docbook2html], []) |
150 |
if test -z "$DOCBOOK2HTML" |
151 |
then |
152 |
AC_MSG_WARN([docbook2html not found, man pages rebuild will not be possible]) |
153 |
fi |
154 |
|
155 |
# Check for python-sphinx |
156 |
AC_ARG_VAR(SPHINX, [sphinx-build path]) |
157 |
AC_PATH_PROG(SPHINX, [sphinx-build], []) |
158 |
if test -z "$SPHINX" |
159 |
then |
160 |
AC_MSG_WARN([sphinx-build not found, documentation rebuild will not be possible]) |
161 |
fi |
162 |
|
163 |
# Check for graphviz (dot) |
164 |
AC_ARG_VAR(DOT, [dot path]) |
165 |
AC_PATH_PROG(DOT, [dot], []) |
166 |
if test -z "$DOT" |
167 |
then |
168 |
AC_MSG_WARN([dot (from the graphviz suite) not found, documentation rebuild not possible]) |
169 |
fi |
170 |
|
171 |
if test -z "$SOCAT" -a -n "$check_socat_escape" |
172 |
then |
173 |
AC_CACHE_CHECK([for socat with the escape feature], [ac_cv_path_SOCAT], |
174 |
[AC_PATH_PROGS_FEATURE_CHECK(SOCAT, [socat], |
175 |
[[$ac_path_SOCAT -hh | grep -q escape \ |
176 |
&& ac_cv_path_SOCAT=$ac_path_SOCAT \ |
177 |
SOCAT=$ac_cv_path_SOCAT \ |
178 |
with_socat_escape=yes ac_path_SOCAT_found=:]], |
179 |
[AC_MSG_WARN([no escape feature found])])]) |
180 |
fi |
181 |
|
182 |
if test -z "$SOCAT" |
183 |
then |
184 |
AC_CACHE_CHECK([for socat], [ac_cv_path_SOCAT], |
185 |
[AC_PATH_PROGS_FEATURE_CHECK(SOCAT, [socat], |
186 |
[[ac_cv_path_SOCAT=$ac_path_SOCAT \ |
187 |
SOCAT=$ac_cv_path_SOCAT ac_path_SOCAT_found=:]], |
188 |
[AC_MSG_ERROR([socat not found])])]) |
189 |
fi |
190 |
|
191 |
AC_SUBST([SOCAT_PATH], [$SOCAT]) |
192 |
if test "x$with_socat_escape" = xyes |
193 |
then |
194 |
AC_SUBST([SOCAT_ESCAPE], [1]) |
195 |
fi |
196 |
|
197 |
# Check for Python |
198 |
AM_PATH_PYTHON(2.4) |
199 |
|
200 |
AC_PYTHON_MODULE(OpenSSL, t) |
201 |
AC_PYTHON_MODULE(simplejson, t) |
202 |
AC_PYTHON_MODULE(pyparsing, t) |
203 |
AC_PYTHON_MODULE(pyinotify, t) |
204 |
|
205 |
AC_CONFIG_FILES([ Makefile ]) |
206 |
|
207 |
AC_OUTPUT |