root / configure.ac @ 3e02cd3c
History | View | Annotate | Download (23.6 kB)
1 | a5d17f9f | Michael Hanselmann | # Configure script for Ganeti |
---|---|---|---|
2 | 5e29d733 | Michael Hanselmann | m4_define([gnt_version_major], [2]) |
3 | b830193c | Guido Trotter | m4_define([gnt_version_minor], [7]) |
4 | b830193c | Guido Trotter | m4_define([gnt_version_revision], [0]) |
5 | b8722855 | Guido Trotter | m4_define([gnt_version_suffix], [~beta2]) |
6 | d5fd92ed | Michael Hanselmann | m4_define([gnt_version_full], |
7 | d5fd92ed | Michael Hanselmann | m4_format([%d.%d.%d%s], |
8 | d5fd92ed | Michael Hanselmann | gnt_version_major, gnt_version_minor, |
9 | d5fd92ed | Michael Hanselmann | gnt_version_revision, gnt_version_suffix)) |
10 | d5fd92ed | Michael Hanselmann | |
11 | a8083063 | Iustin Pop | AC_PREREQ(2.59) |
12 | d5fd92ed | Michael Hanselmann | AC_INIT(ganeti, gnt_version_full, ganeti@googlegroups.com) |
13 | 16ebf761 | Iustin Pop | AC_CONFIG_AUX_DIR(autotools) |
14 | 9ff7e35c | Michael Hanselmann | AC_CONFIG_SRCDIR(configure) |
15 | e70f1b7c | Michael Hanselmann | AM_INIT_AUTOMAKE([1.9 foreign tar-ustar -Wall -Wno-portability]) |
16 | a8083063 | Iustin Pop | |
17 | d5fd92ed | Michael Hanselmann | AC_SUBST([VERSION_MAJOR], gnt_version_major) |
18 | d5fd92ed | Michael Hanselmann | AC_SUBST([VERSION_MINOR], gnt_version_minor) |
19 | d5fd92ed | Michael Hanselmann | AC_SUBST([VERSION_REVISION], gnt_version_revision) |
20 | d5fd92ed | Michael Hanselmann | AC_SUBST([VERSION_SUFFIX], gnt_version_suffix) |
21 | d5fd92ed | Michael Hanselmann | AC_SUBST([VERSION_FULL], gnt_version_full) |
22 | d5fd92ed | Michael Hanselmann | |
23 | c6b8baba | Michael Hanselmann | # --with-ssh-initscript=... |
24 | c6b8baba | Michael Hanselmann | AC_ARG_WITH([ssh-initscript], |
25 | 8f106515 | Guido Trotter | [AS_HELP_STRING([--with-ssh-initscript=SCRIPT], |
26 | c6b8baba | Michael Hanselmann | [SSH init script to use (default is /etc/init.d/ssh)] |
27 | c6b8baba | Michael Hanselmann | )], |
28 | f491c3a8 | Michael Hanselmann | [ssh_initd_script="$withval"], |
29 | f491c3a8 | Michael Hanselmann | [ssh_initd_script="/etc/init.d/ssh"]) |
30 | f491c3a8 | Michael Hanselmann | AC_SUBST(SSH_INITD_SCRIPT, $ssh_initd_script) |
31 | c6b8baba | Michael Hanselmann | |
32 | 68dccc07 | Guido Trotter | # --with-export-dir=... |
33 | 68dccc07 | Guido Trotter | AC_ARG_WITH([export-dir], |
34 | 68dccc07 | Guido Trotter | [AS_HELP_STRING([--with-export-dir=DIR], |
35 | f00b46bc | Michael Hanselmann | [directory to use by default for instance image] |
36 | f00b46bc | Michael Hanselmann | [ exports (default is /srv/ganeti/export)] |
37 | 68dccc07 | Guido Trotter | )], |
38 | 68dccc07 | Guido Trotter | [export_dir="$withval"], |
39 | 68dccc07 | Guido Trotter | [export_dir="/srv/ganeti/export"]) |
40 | 68dccc07 | Guido Trotter | AC_SUBST(EXPORT_DIR, $export_dir) |
41 | 68dccc07 | Guido Trotter | |
42 | 553bd93f | Vitaly Kuznetsov | # --with-ssh-config-dir=... |
43 | 553bd93f | Vitaly Kuznetsov | AC_ARG_WITH([ssh-config-dir], |
44 | 553bd93f | Vitaly Kuznetsov | [AS_HELP_STRING([--with-ssh-config-dir=DIR], |
45 | 553bd93f | Vitaly Kuznetsov | [ directory with ssh host keys ] |
46 | 553bd93f | Vitaly Kuznetsov | [ (default is /etc/ssh)] |
47 | 553bd93f | Vitaly Kuznetsov | )], |
48 | 553bd93f | Vitaly Kuznetsov | [ssh_config_dir="$withval"], |
49 | 553bd93f | Vitaly Kuznetsov | [ssh_config_dir="/etc/ssh"]) |
50 | 553bd93f | Vitaly Kuznetsov | AC_SUBST(SSH_CONFIG_DIR, $ssh_config_dir) |
51 | 553bd93f | Vitaly Kuznetsov | |
52 | a8e8c0c6 | Michael Hanselmann | # --with-xen-config-dir=... |
53 | a8e8c0c6 | Michael Hanselmann | AC_ARG_WITH([xen-config-dir], |
54 | a8e8c0c6 | Michael Hanselmann | [AS_HELP_STRING([--with-xen-config-dir=DIR], |
55 | a8e8c0c6 | Michael Hanselmann | m4_normalize([Xen configuration directory |
56 | a8e8c0c6 | Michael Hanselmann | (default: /etc/xen)]))], |
57 | a8e8c0c6 | Michael Hanselmann | [xen_config_dir="$withval"], |
58 | a8e8c0c6 | Michael Hanselmann | [xen_config_dir=/etc/xen]) |
59 | a8e8c0c6 | Michael Hanselmann | AC_SUBST(XEN_CONFIG_DIR, $xen_config_dir) |
60 | a8e8c0c6 | Michael Hanselmann | |
61 | 7c3d51d4 | Guido Trotter | # --with-os-search-path=... |
62 | 7c3d51d4 | Guido Trotter | # do a bit of black sed magic to for quoting of the strings in the list |
63 | 7c3d51d4 | Guido Trotter | AC_ARG_WITH([os-search-path], |
64 | 7c3d51d4 | Guido Trotter | [AS_HELP_STRING([--with-os-search-path=LIST], |
65 | f00b46bc | Michael Hanselmann | [comma separated list of directories to] |
66 | f00b46bc | Michael Hanselmann | [ search for OS images (default is /srv/ganeti/os)] |
67 | 7c3d51d4 | Guido Trotter | )], |
68 | 7c3d51d4 | Guido Trotter | [os_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`], |
69 | 7c3d51d4 | Guido Trotter | [os_search_path="'/srv/ganeti/os'"]) |
70 | 7c3d51d4 | Guido Trotter | AC_SUBST(OS_SEARCH_PATH, $os_search_path) |
71 | 7c3d51d4 | Guido Trotter | |
72 | 376631d1 | Constantinos Venetsanopoulos | # --with-extstorage-search-path=... |
73 | 376631d1 | Constantinos Venetsanopoulos | # same black sed magic for quoting of the strings in the list |
74 | 376631d1 | Constantinos Venetsanopoulos | AC_ARG_WITH([extstorage-search-path], |
75 | 376631d1 | Constantinos Venetsanopoulos | [AS_HELP_STRING([--with-extstorage-search-path=LIST], |
76 | 376631d1 | Constantinos Venetsanopoulos | [comma separated list of directories to] |
77 | 376631d1 | Constantinos Venetsanopoulos | [ search for External Storage Providers] |
78 | 376631d1 | Constantinos Venetsanopoulos | [ (default is /srv/ganeti/extstorage)] |
79 | 376631d1 | Constantinos Venetsanopoulos | )], |
80 | 376631d1 | Constantinos Venetsanopoulos | [es_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`], |
81 | 376631d1 | Constantinos Venetsanopoulos | [es_search_path="'/srv/ganeti/extstorage'"]) |
82 | 376631d1 | Constantinos Venetsanopoulos | AC_SUBST(ES_SEARCH_PATH, $es_search_path) |
83 | 376631d1 | Constantinos Venetsanopoulos | |
84 | 298fe380 | Iustin Pop | # --with-iallocator-search-path=... |
85 | 298fe380 | Iustin Pop | # do a bit of black sed magic to for quoting of the strings in the list |
86 | 298fe380 | Iustin Pop | AC_ARG_WITH([iallocator-search-path], |
87 | 298fe380 | Iustin Pop | [AS_HELP_STRING([--with-iallocator-search-path=LIST], |
88 | 298fe380 | Iustin Pop | [comma separated list of directories to] |
89 | 298fe380 | Iustin Pop | [ search for instance allocators (default is $libdir/ganeti/iallocators)] |
90 | 298fe380 | Iustin Pop | )], |
91 | 298fe380 | Iustin Pop | [iallocator_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`], |
92 | 298fe380 | Iustin Pop | [iallocator_search_path="'$libdir/$PACKAGE_NAME/iallocators'"]) |
93 | 298fe380 | Iustin Pop | AC_SUBST(IALLOCATOR_SEARCH_PATH, $iallocator_search_path) |
94 | 298fe380 | Iustin Pop | |
95 | 2f2dbb4b | Jun Futagawa | # --with-xen-bootloader=... |
96 | 2f2dbb4b | Jun Futagawa | AC_ARG_WITH([xen-bootloader], |
97 | 2f2dbb4b | Jun Futagawa | [AS_HELP_STRING([--with-xen-bootloader=PATH], |
98 | 2f2dbb4b | Jun Futagawa | [bootloader for Xen hypervisor (default is empty)] |
99 | 2f2dbb4b | Jun Futagawa | )], |
100 | 2f2dbb4b | Jun Futagawa | [xen_bootloader="$withval"], |
101 | 2f2dbb4b | Jun Futagawa | [xen_bootloader=]) |
102 | 2f2dbb4b | Jun Futagawa | AC_SUBST(XEN_BOOTLOADER, $xen_bootloader) |
103 | 2f2dbb4b | Jun Futagawa | |
104 | f00b46bc | Michael Hanselmann | # --with-xen-kernel=... |
105 | f00b46bc | Michael Hanselmann | AC_ARG_WITH([xen-kernel], |
106 | f00b46bc | Michael Hanselmann | [AS_HELP_STRING([--with-xen-kernel=PATH], |
107 | b8203e1e | Iustin Pop | [DomU kernel image for Xen hypervisor (default is /boot/vmlinuz-3-xenU)] |
108 | f00b46bc | Michael Hanselmann | )], |
109 | f00b46bc | Michael Hanselmann | [xen_kernel="$withval"], |
110 | b8203e1e | Iustin Pop | [xen_kernel="/boot/vmlinuz-3-xenU"]) |
111 | f00b46bc | Michael Hanselmann | AC_SUBST(XEN_KERNEL, $xen_kernel) |
112 | f00b46bc | Michael Hanselmann | |
113 | f00b46bc | Michael Hanselmann | # --with-xen-initrd=... |
114 | f00b46bc | Michael Hanselmann | AC_ARG_WITH([xen-initrd], |
115 | f00b46bc | Michael Hanselmann | [AS_HELP_STRING([--with-xen-initrd=PATH], |
116 | b8203e1e | Iustin Pop | [DomU initrd image for Xen hypervisor (default is /boot/initrd-3-xenU)] |
117 | f00b46bc | Michael Hanselmann | )], |
118 | f00b46bc | Michael Hanselmann | [xen_initrd="$withval"], |
119 | b8203e1e | Iustin Pop | [xen_initrd="/boot/initrd-3-xenU"]) |
120 | f00b46bc | Michael Hanselmann | AC_SUBST(XEN_INITRD, $xen_initrd) |
121 | f00b46bc | Michael Hanselmann | |
122 | 1eb37421 | René Nussbaumer | # --with-xen-cmd=... |
123 | 1eb37421 | René Nussbaumer | AC_ARG_WITH([xen-cmd], |
124 | 1eb37421 | René Nussbaumer | [AS_HELP_STRING([--with-xen-cmd=CMD], |
125 | 1eb37421 | René Nussbaumer | [Sets the xen cli interface command (default is xm)] |
126 | 1eb37421 | René Nussbaumer | )], |
127 | 1eb37421 | René Nussbaumer | [xen_cmd="$withval"], |
128 | 52fca4ba | Michael Hanselmann | [xen_cmd=xm]) |
129 | 1eb37421 | René Nussbaumer | AC_SUBST(XEN_CMD, $xen_cmd) |
130 | 1eb37421 | René Nussbaumer | |
131 | 4b5a9365 | René Nussbaumer | if ! test "$XEN_CMD" = xl -o "$XEN_CMD" = xm; then |
132 | 1eb37421 | René Nussbaumer | AC_MSG_ERROR([Unsupported xen command specified]) |
133 | 1eb37421 | René Nussbaumer | fi |
134 | 1eb37421 | René Nussbaumer | |
135 | b8203e1e | Iustin Pop | # --with-kvm-kernel=... |
136 | b8203e1e | Iustin Pop | AC_ARG_WITH([kvm-kernel], |
137 | b8203e1e | Iustin Pop | [AS_HELP_STRING([--with-kvm-kernel=PATH], |
138 | b8203e1e | Iustin Pop | [Guest kernel image for KVM hypervisor (default is /boot/vmlinuz-3-kvmU)] |
139 | b8203e1e | Iustin Pop | )], |
140 | b8203e1e | Iustin Pop | [kvm_kernel="$withval"], |
141 | b8203e1e | Iustin Pop | [kvm_kernel="/boot/vmlinuz-3-kvmU"]) |
142 | b8203e1e | Iustin Pop | AC_SUBST(KVM_KERNEL, $kvm_kernel) |
143 | b8203e1e | Iustin Pop | |
144 | 22c734bc | Manuel Franceschini | # --with-file-storage-dir=... |
145 | 22c734bc | Manuel Franceschini | AC_ARG_WITH([file-storage-dir], |
146 | 22c734bc | Manuel Franceschini | [AS_HELP_STRING([--with-file-storage-dir=PATH], |
147 | 22c734bc | Manuel Franceschini | [directory to store files for file-based backend] |
148 | 22c734bc | Manuel Franceschini | [ (default is /srv/ganeti/file-storage)] |
149 | 22c734bc | Manuel Franceschini | )], |
150 | cb7c0198 | Iustin Pop | [[file_storage_dir="$withval"; |
151 | cb7c0198 | Iustin Pop | if test "$withval" != no; then |
152 | cb7c0198 | Iustin Pop | enable_file_storage=True |
153 | cb7c0198 | Iustin Pop | else |
154 | cb7c0198 | Iustin Pop | enable_file_storage=False |
155 | cb7c0198 | Iustin Pop | fi |
156 | cb7c0198 | Iustin Pop | ]], |
157 | 30841576 | Michael Hanselmann | [[file_storage_dir="/srv/ganeti/file-storage"; |
158 | 52fca4ba | Michael Hanselmann | enable_file_storage=True]]) |
159 | 22c734bc | Manuel Franceschini | AC_SUBST(FILE_STORAGE_DIR, $file_storage_dir) |
160 | cb7c0198 | Iustin Pop | AC_SUBST(ENABLE_FILE_STORAGE, $enable_file_storage) |
161 | 22c734bc | Manuel Franceschini | |
162 | 4b97f902 | Apollon Oikonomopoulos | # --with-shared-file-storage-dir=... |
163 | 4b97f902 | Apollon Oikonomopoulos | AC_ARG_WITH([shared-file-storage-dir], |
164 | 4b97f902 | Apollon Oikonomopoulos | [AS_HELP_STRING([--with-shared-file-storage-dir=PATH], |
165 | 4b97f902 | Apollon Oikonomopoulos | [directory to store files for shared file-based backend] |
166 | 4b97f902 | Apollon Oikonomopoulos | [ (default is /srv/ganeti/shared-file-storage)] |
167 | 4b97f902 | Apollon Oikonomopoulos | )], |
168 | 4b97f902 | Apollon Oikonomopoulos | [[shared_file_storage_dir="$withval"; |
169 | 4b97f902 | Apollon Oikonomopoulos | if test "$withval" != no; then |
170 | 4b97f902 | Apollon Oikonomopoulos | enable_shared_file_storage=True |
171 | 4b97f902 | Apollon Oikonomopoulos | else |
172 | 4b97f902 | Apollon Oikonomopoulos | enable_shared_file_storage=False |
173 | 4b97f902 | Apollon Oikonomopoulos | fi |
174 | 4b97f902 | Apollon Oikonomopoulos | ]], |
175 | 30841576 | Michael Hanselmann | [[shared_file_storage_dir="/srv/ganeti/shared-file-storage"; |
176 | 52fca4ba | Michael Hanselmann | enable_shared_file_storage=True]]) |
177 | 4b97f902 | Apollon Oikonomopoulos | AC_SUBST(SHARED_FILE_STORAGE_DIR, $shared_file_storage_dir) |
178 | 4b97f902 | Apollon Oikonomopoulos | AC_SUBST(ENABLE_SHARED_FILE_STORAGE, $enable_shared_file_storage) |
179 | 4b97f902 | Apollon Oikonomopoulos | |
180 | 7e2c5b9e | Guido Trotter | # --with-kvm-path=... |
181 | 7e2c5b9e | Guido Trotter | AC_ARG_WITH([kvm-path], |
182 | 7e2c5b9e | Guido Trotter | [AS_HELP_STRING([--with-kvm-path=PATH], |
183 | 7e2c5b9e | Guido Trotter | [absolute path to the kvm binary] |
184 | 7e2c5b9e | Guido Trotter | [ (default is /usr/bin/kvm)] |
185 | 7e2c5b9e | Guido Trotter | )], |
186 | 7e2c5b9e | Guido Trotter | [kvm_path="$withval"], |
187 | 7e2c5b9e | Guido Trotter | [kvm_path="/usr/bin/kvm"]) |
188 | 7e2c5b9e | Guido Trotter | AC_SUBST(KVM_PATH, $kvm_path) |
189 | 7e2c5b9e | Guido Trotter | |
190 | 89b70f39 | Iustin Pop | # --with-lvm-stripecount=... |
191 | 3736cb6b | Iustin Pop | AC_ARG_WITH([lvm-stripecount], |
192 | 3736cb6b | Iustin Pop | [AS_HELP_STRING([--with-lvm-stripecount=NUM], |
193 | 43e11798 | Andrea Spadaccini | [the default number of stripes to use for LVM volumes] |
194 | 7b3ac94d | Iustin Pop | [ (default is 1)] |
195 | 3736cb6b | Iustin Pop | )], |
196 | 3736cb6b | Iustin Pop | [lvm_stripecount="$withval"], |
197 | 52fca4ba | Michael Hanselmann | [lvm_stripecount=1]) |
198 | 3736cb6b | Iustin Pop | AC_SUBST(LVM_STRIPECOUNT, $lvm_stripecount) |
199 | 3736cb6b | Iustin Pop | |
200 | 052783ff | Michael Hanselmann | # --with-ssh-login-user=... |
201 | 052783ff | Michael Hanselmann | AC_ARG_WITH([ssh-login-user], |
202 | 052783ff | Michael Hanselmann | [AS_HELP_STRING([--with-ssh-login-user=USERNAME], |
203 | 052783ff | Michael Hanselmann | [user to use for SSH logins within the cluster (default is root)] |
204 | 052783ff | Michael Hanselmann | )], |
205 | 052783ff | Michael Hanselmann | [ssh_login_user="$withval"], |
206 | 052783ff | Michael Hanselmann | [ssh_login_user=root]) |
207 | 052783ff | Michael Hanselmann | AC_SUBST(SSH_LOGIN_USER, $ssh_login_user) |
208 | 052783ff | Michael Hanselmann | |
209 | 052783ff | Michael Hanselmann | # --with-ssh-console-user=... |
210 | 052783ff | Michael Hanselmann | AC_ARG_WITH([ssh-console-user], |
211 | 052783ff | Michael Hanselmann | [AS_HELP_STRING([--with-ssh-console-user=USERNAME], |
212 | 052783ff | Michael Hanselmann | [user to use for SSH logins to access instance consoles (default is root)] |
213 | 052783ff | Michael Hanselmann | )], |
214 | 052783ff | Michael Hanselmann | [ssh_console_user="$withval"], |
215 | 052783ff | Michael Hanselmann | [ssh_console_user=root]) |
216 | 052783ff | Michael Hanselmann | AC_SUBST(SSH_CONSOLE_USER, $ssh_console_user) |
217 | 052783ff | Michael Hanselmann | |
218 | a6798ce1 | Michael Hanselmann | # --with-default-user=... |
219 | a6798ce1 | Michael Hanselmann | AC_ARG_WITH([default-user], |
220 | a6798ce1 | Michael Hanselmann | [AS_HELP_STRING([--with-default-user=USERNAME], |
221 | a6798ce1 | Michael Hanselmann | [default user for daemons] |
222 | a6798ce1 | Michael Hanselmann | [ (default is to run all daemons as root)] |
223 | a6798ce1 | Michael Hanselmann | )], |
224 | a6798ce1 | Michael Hanselmann | [user_default="$withval"], |
225 | a6798ce1 | Michael Hanselmann | [user_default=root]) |
226 | a6798ce1 | Michael Hanselmann | |
227 | a6798ce1 | Michael Hanselmann | # --with-default-group=... |
228 | a6798ce1 | Michael Hanselmann | AC_ARG_WITH([default-group], |
229 | a6798ce1 | Michael Hanselmann | [AS_HELP_STRING([--with-default-group=GROUPNAME], |
230 | a6798ce1 | Michael Hanselmann | [default group for daemons] |
231 | a6798ce1 | Michael Hanselmann | [ (default is to run all daemons under group root)] |
232 | a6798ce1 | Michael Hanselmann | )], |
233 | a6798ce1 | Michael Hanselmann | [group_default="$withval"], |
234 | a6798ce1 | Michael Hanselmann | [group_default=root]) |
235 | a6798ce1 | Michael Hanselmann | |
236 | 0d150c50 | René Nussbaumer | # --with-user-prefix=... |
237 | 0d150c50 | René Nussbaumer | AC_ARG_WITH([user-prefix], |
238 | 0d150c50 | René Nussbaumer | [AS_HELP_STRING([--with-user-prefix=PREFIX], |
239 | 0d150c50 | René Nussbaumer | [prefix for daemon users] |
240 | a6798ce1 | Michael Hanselmann | [ (default is to run all daemons as root; use --with-default-user] |
241 | a6798ce1 | Michael Hanselmann | [ to change the default)] |
242 | 0d150c50 | René Nussbaumer | )], |
243 | 3794937c | René Nussbaumer | [user_masterd="${withval}masterd"; |
244 | 0d150c50 | René Nussbaumer | user_rapi="${withval}rapi"; |
245 | 3794937c | René Nussbaumer | user_confd="${withval}confd"; |
246 | a6798ce1 | Michael Hanselmann | user_noded="$user_default"], |
247 | a6798ce1 | Michael Hanselmann | [user_masterd="$user_default"; |
248 | a6798ce1 | Michael Hanselmann | user_rapi="$user_default"; |
249 | a6798ce1 | Michael Hanselmann | user_confd="$user_default"; |
250 | a6798ce1 | Michael Hanselmann | user_noded="$user_default"]) |
251 | 0d150c50 | René Nussbaumer | AC_SUBST(MASTERD_USER, $user_masterd) |
252 | 0d150c50 | René Nussbaumer | AC_SUBST(RAPI_USER, $user_rapi) |
253 | 0d150c50 | René Nussbaumer | AC_SUBST(CONFD_USER, $user_confd) |
254 | 0d150c50 | René Nussbaumer | AC_SUBST(NODED_USER, $user_noded) |
255 | 0d150c50 | René Nussbaumer | |
256 | 0d150c50 | René Nussbaumer | # --with-group-prefix=... |
257 | 0d150c50 | René Nussbaumer | AC_ARG_WITH([group-prefix], |
258 | 0d150c50 | René Nussbaumer | [AS_HELP_STRING([--with-group-prefix=PREFIX], |
259 | 0d150c50 | René Nussbaumer | [prefix for daemon POSIX groups] |
260 | a6798ce1 | Michael Hanselmann | [ (default is to run all daemons under group root; use] |
261 | a6798ce1 | Michael Hanselmann | [ --with-default-group to change the default)] |
262 | 0d150c50 | René Nussbaumer | )], |
263 | 3794937c | René Nussbaumer | [group_rapi="${withval}rapi"; |
264 | 3794937c | René Nussbaumer | group_admin="${withval}admin"; |
265 | 3794937c | René Nussbaumer | group_confd="${withval}confd"; |
266 | 3794937c | René Nussbaumer | group_masterd="${withval}masterd"; |
267 | a6798ce1 | Michael Hanselmann | group_noded="$group_default"; |
268 | 0d150c50 | René Nussbaumer | group_daemons="${withval}daemons";], |
269 | a6798ce1 | Michael Hanselmann | [group_rapi="$group_default"; |
270 | a6798ce1 | Michael Hanselmann | group_admin="$group_default"; |
271 | a6798ce1 | Michael Hanselmann | group_confd="$group_default"; |
272 | a6798ce1 | Michael Hanselmann | group_masterd="$group_default"; |
273 | a6798ce1 | Michael Hanselmann | group_noded="$group_default"; |
274 | a6798ce1 | Michael Hanselmann | group_daemons="$group_default"]) |
275 | 0d150c50 | René Nussbaumer | AC_SUBST(RAPI_GROUP, $group_rapi) |
276 | 0d150c50 | René Nussbaumer | AC_SUBST(ADMIN_GROUP, $group_admin) |
277 | 0d150c50 | René Nussbaumer | AC_SUBST(CONFD_GROUP, $group_confd) |
278 | 0d150c50 | René Nussbaumer | AC_SUBST(MASTERD_GROUP, $group_masterd) |
279 | 03881cb0 | René Nussbaumer | AC_SUBST(NODED_GROUP, $group_noded) |
280 | 0d150c50 | René Nussbaumer | AC_SUBST(DAEMONS_GROUP, $group_daemons) |
281 | 0d150c50 | René Nussbaumer | |
282 | 0d150c50 | René Nussbaumer | # Print the config to the user |
283 | 0d150c50 | René Nussbaumer | AC_MSG_NOTICE([Running ganeti-masterd as $group_masterd:$group_masterd]) |
284 | 0d150c50 | René Nussbaumer | AC_MSG_NOTICE([Running ganeti-rapi as $user_rapi:$group_rapi]) |
285 | 0d150c50 | René Nussbaumer | AC_MSG_NOTICE([Running ganeti-confd as $user_confd:$group_confd]) |
286 | 0d150c50 | René Nussbaumer | AC_MSG_NOTICE([Group for daemons is $group_daemons]) |
287 | 0d150c50 | René Nussbaumer | AC_MSG_NOTICE([Group for clients is $group_admin]) |
288 | 0d150c50 | René Nussbaumer | |
289 | 89b70f39 | Iustin Pop | # --enable-drbd-barriers |
290 | 89b70f39 | Iustin Pop | AC_ARG_ENABLE([drbd-barriers], |
291 | 89b70f39 | Iustin Pop | [AS_HELP_STRING([--enable-drbd-barriers], |
292 | 52fca4ba | Michael Hanselmann | m4_normalize([enable the DRBD barriers functionality by |
293 | 52fca4ba | Michael Hanselmann | default (>= 8.0.12) (default: enabled)]))], |
294 | 89b70f39 | Iustin Pop | [[if test "$enableval" != no; then |
295 | 8a69b3a8 | Andrea Spadaccini | DRBD_BARRIERS=n |
296 | 8a69b3a8 | Andrea Spadaccini | DRBD_NO_META_FLUSH=False |
297 | 89b70f39 | Iustin Pop | else |
298 | 15618b63 | Michael Hanselmann | DRBD_BARRIERS=bf |
299 | 8a69b3a8 | Andrea Spadaccini | DRBD_NO_META_FLUSH=True |
300 | 89b70f39 | Iustin Pop | fi |
301 | 89b70f39 | Iustin Pop | ]], |
302 | 8a69b3a8 | Andrea Spadaccini | [DRBD_BARRIERS=n |
303 | 8a69b3a8 | Andrea Spadaccini | DRBD_NO_META_FLUSH=False |
304 | 8a69b3a8 | Andrea Spadaccini | ]) |
305 | 89b70f39 | Iustin Pop | AC_SUBST(DRBD_BARRIERS, $DRBD_BARRIERS) |
306 | 8a69b3a8 | Andrea Spadaccini | AC_SUBST(DRBD_NO_META_FLUSH, $DRBD_NO_META_FLUSH) |
307 | 89b70f39 | Iustin Pop | |
308 | 551b6283 | Iustin Pop | # --enable-syslog[=no/yes/only] |
309 | 551b6283 | Iustin Pop | AC_ARG_ENABLE([syslog], |
310 | 551b6283 | Iustin Pop | [AS_HELP_STRING([--enable-syslog], |
311 | 551b6283 | Iustin Pop | [enable use of syslog (default: disabled), one of no/yes/only])], |
312 | 551b6283 | Iustin Pop | [[case "$enableval" in |
313 | 551b6283 | Iustin Pop | no) |
314 | 551b6283 | Iustin Pop | SYSLOG=no |
315 | 551b6283 | Iustin Pop | ;; |
316 | 551b6283 | Iustin Pop | yes) |
317 | 551b6283 | Iustin Pop | SYSLOG=yes |
318 | 551b6283 | Iustin Pop | ;; |
319 | 551b6283 | Iustin Pop | only) |
320 | 551b6283 | Iustin Pop | SYSLOG=only |
321 | 551b6283 | Iustin Pop | ;; |
322 | 551b6283 | Iustin Pop | *) |
323 | 551b6283 | Iustin Pop | SYSLOG= |
324 | 551b6283 | Iustin Pop | ;; |
325 | 551b6283 | Iustin Pop | esac |
326 | 551b6283 | Iustin Pop | ]], |
327 | 551b6283 | Iustin Pop | [SYSLOG=no]) |
328 | 551b6283 | Iustin Pop | |
329 | 551b6283 | Iustin Pop | if test -z "$SYSLOG" |
330 | 551b6283 | Iustin Pop | then |
331 | 551b6283 | Iustin Pop | AC_MSG_ERROR([invalid value for syslog, choose one of no/yes/only]) |
332 | 551b6283 | Iustin Pop | fi |
333 | 551b6283 | Iustin Pop | AC_SUBST(SYSLOG_USAGE, $SYSLOG) |
334 | 551b6283 | Iustin Pop | |
335 | 1fdeb284 | Michael Hanselmann | AC_ARG_ENABLE([restricted-commands], |
336 | 1fdeb284 | Michael Hanselmann | [AS_HELP_STRING([--enable-restricted-commands], |
337 | 1fdeb284 | Michael Hanselmann | m4_normalize([enable restricted commands in the node daemon |
338 | 9108958f | Michael Hanselmann | (default: disabled)]))], |
339 | 9108958f | Michael Hanselmann | [[if test "$enableval" = no; then |
340 | 1fdeb284 | Michael Hanselmann | enable_restricted_commands=False |
341 | 9108958f | Michael Hanselmann | else |
342 | 1fdeb284 | Michael Hanselmann | enable_restricted_commands=True |
343 | 9108958f | Michael Hanselmann | fi |
344 | 9108958f | Michael Hanselmann | ]], |
345 | 1fdeb284 | Michael Hanselmann | [enable_restricted_commands=False]) |
346 | 1fdeb284 | Michael Hanselmann | AC_SUBST(ENABLE_RESTRICTED_COMMANDS, $enable_restricted_commands) |
347 | 9108958f | Michael Hanselmann | |
348 | 3536c792 | Iustin Pop | # --with-disk-separator=... |
349 | 3536c792 | Iustin Pop | AC_ARG_WITH([disk-separator], |
350 | 3536c792 | Iustin Pop | [AS_HELP_STRING([--with-disk-separator=STRING], |
351 | 30841576 | Michael Hanselmann | [Disk index separator, useful if the default of ':' is handled] |
352 | 30841576 | Michael Hanselmann | [ specially by the hypervisor] |
353 | 3536c792 | Iustin Pop | )], |
354 | 3536c792 | Iustin Pop | [disk_separator="$withval"], |
355 | 3536c792 | Iustin Pop | [disk_separator=":"]) |
356 | 3536c792 | Iustin Pop | AC_SUBST(DISK_SEPARATOR, $disk_separator) |
357 | 3536c792 | Iustin Pop | |
358 | a5d17f9f | Michael Hanselmann | # Check common programs |
359 | a8083063 | Iustin Pop | AC_PROG_INSTALL |
360 | 9ff7e35c | Michael Hanselmann | AC_PROG_LN_S |
361 | a8083063 | Iustin Pop | |
362 | c4dfb0b6 | Andrea Spadaccini | # Check for the ip command |
363 | c4dfb0b6 | Andrea Spadaccini | AC_ARG_VAR(IP_PATH, [ip path]) |
364 | c4dfb0b6 | Andrea Spadaccini | AC_PATH_PROG(IP_PATH, [ip], []) |
365 | c4dfb0b6 | Andrea Spadaccini | if test -z "$IP_PATH" |
366 | c4dfb0b6 | Andrea Spadaccini | then |
367 | c4dfb0b6 | Andrea Spadaccini | AC_MSG_ERROR([ip command not found]) |
368 | c4dfb0b6 | Andrea Spadaccini | fi |
369 | c4dfb0b6 | Andrea Spadaccini | |
370 | 18e2b6e4 | Iustin Pop | # Check for pandoc |
371 | 5208e732 | Iustin Pop | AC_ARG_VAR(PANDOC, [pandoc path]) |
372 | 5208e732 | Iustin Pop | AC_PATH_PROG(PANDOC, [pandoc], []) |
373 | 5208e732 | Iustin Pop | if test -z "$PANDOC" |
374 | 5208e732 | Iustin Pop | then |
375 | 5208e732 | Iustin Pop | AC_MSG_WARN([pandoc not found, man pages rebuild will not be possible]) |
376 | 5208e732 | Iustin Pop | fi |
377 | 5208e732 | Iustin Pop | |
378 | d17e74b4 | Iustin Pop | # Check for python-sphinx |
379 | d17e74b4 | Iustin Pop | AC_ARG_VAR(SPHINX, [sphinx-build path]) |
380 | d17e74b4 | Iustin Pop | AC_PATH_PROG(SPHINX, [sphinx-build], []) |
381 | d17e74b4 | Iustin Pop | if test -z "$SPHINX" |
382 | f05c99f3 | Michael Hanselmann | then |
383 | 30841576 | Michael Hanselmann | AC_MSG_WARN(m4_normalize([sphinx-build not found, documentation rebuild will |
384 | 30841576 | Michael Hanselmann | not be possible])) |
385 | 96b28307 | Michael Hanselmann | else |
386 | 96b28307 | Michael Hanselmann | # Sphinx exits with code 1 when it prints its usage |
387 | 96b28307 | Michael Hanselmann | sphinxver=`{ $SPHINX --version 2>&1 || :; } | head -n 3` |
388 | 96b28307 | Michael Hanselmann | |
389 | 96b28307 | Michael Hanselmann | if ! echo "$sphinxver" | grep -q -w -e '^Sphinx' -e '^Usage:'; then |
390 | 96b28307 | Michael Hanselmann | AC_MSG_ERROR([Unable to determine Sphinx version]) |
391 | 96b28307 | Michael Hanselmann | |
392 | 96b28307 | Michael Hanselmann | # Note: Character classes ([...]) need to be double quoted due to autoconf |
393 | 96b28307 | Michael Hanselmann | # using m4 |
394 | 96b28307 | Michael Hanselmann | elif ! echo "$sphinxver" | grep -q -E '^Sphinx[[[:space:]]]+v[[1-9]]\>'; then |
395 | 96b28307 | Michael Hanselmann | AC_MSG_ERROR([Sphinx 1.0 or higher is required]) |
396 | 96b28307 | Michael Hanselmann | fi |
397 | f05c99f3 | Michael Hanselmann | fi |
398 | f05c99f3 | Michael Hanselmann | |
399 | 41806ef4 | Michael Hanselmann | AC_ARG_ENABLE([manpages-in-doc], |
400 | 41806ef4 | Michael Hanselmann | [AS_HELP_STRING([--enable-manpages-in-doc], |
401 | 41806ef4 | Michael Hanselmann | m4_normalize([include man pages in HTML documentation |
402 | 41806ef4 | Michael Hanselmann | (requires sphinx; default disabled)]))], |
403 | 41806ef4 | Michael Hanselmann | [case "$enableval" in |
404 | 41806ef4 | Michael Hanselmann | yes) manpages_in_doc=yes ;; |
405 | 41806ef4 | Michael Hanselmann | no) manpages_in_doc= ;; |
406 | 41806ef4 | Michael Hanselmann | *) |
407 | 41806ef4 | Michael Hanselmann | AC_MSG_ERROR([Bad value $enableval for --enable-manpages-in-doc]) |
408 | 41806ef4 | Michael Hanselmann | ;; |
409 | 41806ef4 | Michael Hanselmann | esac |
410 | 41806ef4 | Michael Hanselmann | ], |
411 | 41806ef4 | Michael Hanselmann | [manpages_in_doc=]) |
412 | 41806ef4 | Michael Hanselmann | AM_CONDITIONAL([MANPAGES_IN_DOC], [test -n "$manpages_in_doc"]) |
413 | 41806ef4 | Michael Hanselmann | AC_SUBST(MANPAGES_IN_DOC, $manpages_in_doc) |
414 | 41806ef4 | Michael Hanselmann | |
415 | 41806ef4 | Michael Hanselmann | if test -z "$SPHINX" -a -n "$manpages_in_doc"; then |
416 | 41806ef4 | Michael Hanselmann | AC_MSG_ERROR([Including man pages in HTML documentation requires sphinx]) |
417 | 41806ef4 | Michael Hanselmann | fi |
418 | 41806ef4 | Michael Hanselmann | |
419 | f86e82ef | Iustin Pop | # Check for graphviz (dot) |
420 | f86e82ef | Iustin Pop | AC_ARG_VAR(DOT, [dot path]) |
421 | f86e82ef | Iustin Pop | AC_PATH_PROG(DOT, [dot], []) |
422 | f86e82ef | Iustin Pop | if test -z "$DOT" |
423 | f86e82ef | Iustin Pop | then |
424 | 30841576 | Michael Hanselmann | AC_MSG_WARN(m4_normalize([dot (from the graphviz suite) not found, |
425 | 30841576 | Michael Hanselmann | documentation rebuild not possible])) |
426 | f86e82ef | Iustin Pop | fi |
427 | f86e82ef | Iustin Pop | |
428 | 6d7cc5ff | Michael Hanselmann | # Check for pylint |
429 | 6d7cc5ff | Michael Hanselmann | AC_ARG_VAR(PYLINT, [pylint path]) |
430 | 6d7cc5ff | Michael Hanselmann | AC_PATH_PROG(PYLINT, [pylint], []) |
431 | 6d7cc5ff | Michael Hanselmann | if test -z "$PYLINT" |
432 | 6d7cc5ff | Michael Hanselmann | then |
433 | 6d7cc5ff | Michael Hanselmann | AC_MSG_WARN([pylint not found, checking code will not be possible]) |
434 | 6d7cc5ff | Michael Hanselmann | fi |
435 | 6d7cc5ff | Michael Hanselmann | |
436 | 08366664 | Michael Hanselmann | # Check for pep8 |
437 | 08366664 | Michael Hanselmann | AC_ARG_VAR(PEP8, [pep8 path]) |
438 | 08366664 | Michael Hanselmann | AC_PATH_PROG(PEP8, [pep8], []) |
439 | 08366664 | Michael Hanselmann | if test -z "$PEP8" |
440 | 08366664 | Michael Hanselmann | then |
441 | 08366664 | Michael Hanselmann | AC_MSG_WARN([pep8 not found, checking code will not be complete]) |
442 | 08366664 | Michael Hanselmann | fi |
443 | 141c8421 | Michael Hanselmann | AM_CONDITIONAL([HAS_PEP8], [test -n "$PEP8"]) |
444 | 141c8421 | Michael Hanselmann | |
445 | 141c8421 | Michael Hanselmann | # Check for python-coverage |
446 | 141c8421 | Michael Hanselmann | AC_ARG_VAR(PYCOVERAGE, [python-coverage path]) |
447 | 141c8421 | Michael Hanselmann | AC_PATH_PROGS(PYCOVERAGE, [python-coverage coverage], []) |
448 | 141c8421 | Michael Hanselmann | if test -z "$PYCOVERAGE" |
449 | 141c8421 | Michael Hanselmann | then |
450 | 141c8421 | Michael Hanselmann | AC_MSG_WARN(m4_normalize([python-coverage or coverage not found, evaluating |
451 | 141c8421 | Michael Hanselmann | Python test coverage will not be possible])) |
452 | 141c8421 | Michael Hanselmann | fi |
453 | 08366664 | Michael Hanselmann | |
454 | fe5b0c42 | Michael Hanselmann | # Check for socat |
455 | fe5b0c42 | Michael Hanselmann | AC_ARG_VAR(SOCAT, [socat path]) |
456 | fe5b0c42 | Michael Hanselmann | AC_PATH_PROG(SOCAT, [socat], []) |
457 | 87c1d0c7 | Guido Trotter | if test -z "$SOCAT" |
458 | 87c1d0c7 | Guido Trotter | then |
459 | fe5b0c42 | Michael Hanselmann | AC_MSG_ERROR([socat not found]) |
460 | 87c1d0c7 | Guido Trotter | fi |
461 | 87c1d0c7 | Guido Trotter | |
462 | a002ed79 | Agata Murawska | # Check for qemu-img |
463 | a002ed79 | Agata Murawska | AC_ARG_VAR(QEMUIMG_PATH, [qemu-img path]) |
464 | a002ed79 | Agata Murawska | AC_PATH_PROG(QEMUIMG_PATH, [qemu-img], []) |
465 | a002ed79 | Agata Murawska | if test -z "$QEMUIMG_PATH" |
466 | a002ed79 | Agata Murawska | then |
467 | a002ed79 | Agata Murawska | AC_MSG_WARN([qemu-img not found, using ovfconverter will not be possible]) |
468 | a002ed79 | Agata Murawska | fi |
469 | a002ed79 | Agata Murawska | |
470 | 21a5e56c | Iustin Pop | # --enable-htools-rapi |
471 | 21a5e56c | Iustin Pop | HTOOLS_RAPI= |
472 | 21a5e56c | Iustin Pop | AC_ARG_ENABLE([htools-rapi], |
473 | 21a5e56c | Iustin Pop | [AS_HELP_STRING([--enable-htools-rapi], |
474 | 21a5e56c | Iustin Pop | [enable use of curl in the Haskell code (default: check)])], |
475 | 21a5e56c | Iustin Pop | [], |
476 | 21a5e56c | Iustin Pop | [enable_htools_rapi=check]) |
477 | 21a5e56c | Iustin Pop | |
478 | 21a5e56c | Iustin Pop | # --enable-confd |
479 | 21a5e56c | Iustin Pop | ENABLE_CONFD= |
480 | 21a5e56c | Iustin Pop | AC_ARG_ENABLE([confd], |
481 | 21a5e56c | Iustin Pop | [AS_HELP_STRING([--enable-confd], |
482 | 21a5e56c | Iustin Pop | [enable the ganeti-confd daemon (default: check)])], |
483 | 21a5e56c | Iustin Pop | [], |
484 | 21a5e56c | Iustin Pop | [enable_confd=check]) |
485 | acf70442 | Iustin Pop | |
486 | 35c6e63d | Michele Tartara | ENABLE_MONITORING= |
487 | 35c6e63d | Michele Tartara | AC_ARG_ENABLE([monitoring], |
488 | 35c6e63d | Michele Tartara | [AS_HELP_STRING([--enable-monitoring], |
489 | 35c6e63d | Michele Tartara | [enable the ganeti monitoring agent (default: check)])], |
490 | 35c6e63d | Michele Tartara | [], |
491 | 35c6e63d | Michele Tartara | [enable_monitoring=check]) |
492 | 35c6e63d | Michele Tartara | |
493 | e5bd9de5 | Iustin Pop | # Check for ghc |
494 | e5bd9de5 | Iustin Pop | AC_ARG_VAR(GHC, [ghc path]) |
495 | e5bd9de5 | Iustin Pop | AC_PATH_PROG(GHC, [ghc], []) |
496 | e5bd9de5 | Iustin Pop | if test -z "$GHC"; then |
497 | 21a5e56c | Iustin Pop | AC_MSG_FAILURE([ghc not found, compilation will not possible]) |
498 | e5bd9de5 | Iustin Pop | fi |
499 | e5bd9de5 | Iustin Pop | |
500 | 39f0eea5 | Iustin Pop | AC_MSG_CHECKING([checking for extra GHC flags]) |
501 | 52fca4ba | Michael Hanselmann | GHC_BYVERSION_FLAGS= |
502 | 39f0eea5 | Iustin Pop | # check for GHC supported flags that vary accross versions |
503 | 39f0eea5 | Iustin Pop | for flag in -fwarn-incomplete-uni-patterns; do |
504 | 52fca4ba | Michael Hanselmann | if $GHC -e '0' $flag >/dev/null 2>/dev/null; then |
505 | 39f0eea5 | Iustin Pop | GHC_BYVERSION_FLAGS="$GHC_BYVERSION_FLAGS $flag" |
506 | 39f0eea5 | Iustin Pop | fi |
507 | 39f0eea5 | Iustin Pop | done |
508 | 39f0eea5 | Iustin Pop | AC_MSG_RESULT($GHC_BYVERSION_FLAGS) |
509 | 39f0eea5 | Iustin Pop | AC_SUBST(GHC_BYVERSION_FLAGS) |
510 | 39f0eea5 | Iustin Pop | |
511 | e5bd9de5 | Iustin Pop | # Check for ghc-pkg |
512 | e5bd9de5 | Iustin Pop | AC_ARG_VAR(GHC_PKG, [ghc-pkg path]) |
513 | e5bd9de5 | Iustin Pop | AC_PATH_PROG(GHC_PKG, [ghc-pkg], []) |
514 | e5bd9de5 | Iustin Pop | if test -z "$GHC_PKG"; then |
515 | 21a5e56c | Iustin Pop | AC_MSG_FAILURE([ghc-pkg not found, compilation will not be possible]) |
516 | 21a5e56c | Iustin Pop | fi |
517 | 21a5e56c | Iustin Pop | |
518 | 21a5e56c | Iustin Pop | # check for modules, first custom/special checks |
519 | 21a5e56c | Iustin Pop | AC_MSG_NOTICE([checking for required haskell modules]) |
520 | d9a900dc | Iustin Pop | HS_NOCURL=-DNO_CURL |
521 | 52fca4ba | Michael Hanselmann | if test "$enable_htools_rapi" != no; then |
522 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([curl], [HS_NOCURL=], []) |
523 | d9a900dc | Iustin Pop | if test -n "$HS_NOCURL"; then |
524 | 52fca4ba | Michael Hanselmann | if test "$enable_htools_rapi" = check; then |
525 | 21a5e56c | Iustin Pop | AC_MSG_WARN(m4_normalize([The curl library was not found, Haskell |
526 | 21a5e56c | Iustin Pop | code will be compiled without RAPI support])) |
527 | 50ed57c1 | Iustin Pop | else |
528 | 21a5e56c | Iustin Pop | AC_MSG_FAILURE(m4_normalize([The curl library was not found, but it has |
529 | 21a5e56c | Iustin Pop | been requested])) |
530 | 50ed57c1 | Iustin Pop | fi |
531 | 1adec4be | Iustin Pop | else |
532 | 21a5e56c | Iustin Pop | AC_MSG_NOTICE([Enabling curl/RAPI/RPC usage in Haskell code]) |
533 | fd0bc853 | Iustin Pop | fi |
534 | e5bd9de5 | Iustin Pop | fi |
535 | d9a900dc | Iustin Pop | AC_SUBST(HS_NOCURL) |
536 | 21a5e56c | Iustin Pop | |
537 | d9a900dc | Iustin Pop | HS_PARALLEL3= |
538 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([parallel-3.*], [HS_PARALLEL3=-DPARALLEL3], |
539 | 21a5e56c | Iustin Pop | [AC_GHC_PKG_REQUIRE(parallel)], t) |
540 | d9a900dc | Iustin Pop | AC_SUBST(HS_PARALLEL3) |
541 | 21a5e56c | Iustin Pop | |
542 | 21a5e56c | Iustin Pop | # and now standard modules |
543 | 21a5e56c | Iustin Pop | AC_GHC_PKG_REQUIRE(json) |
544 | 21a5e56c | Iustin Pop | AC_GHC_PKG_REQUIRE(network) |
545 | 21a5e56c | Iustin Pop | AC_GHC_PKG_REQUIRE(mtl) |
546 | 21a5e56c | Iustin Pop | AC_GHC_PKG_REQUIRE(bytestring) |
547 | 21a5e56c | Iustin Pop | AC_GHC_PKG_REQUIRE(utf8-string) |
548 | 21a5e56c | Iustin Pop | |
549 | 21a5e56c | Iustin Pop | # extra modules for confd functionality |
550 | d9a900dc | Iustin Pop | HS_REGEX_PCRE=-DNO_REGEX_PCRE |
551 | 21a5e56c | Iustin Pop | has_confd=False |
552 | 52fca4ba | Michael Hanselmann | if test "$enable_confd" != no; then |
553 | 21a5e56c | Iustin Pop | CONFD_PKG= |
554 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([regex-pcre], [HS_REGEX_PCRE=], |
555 | 21a5e56c | Iustin Pop | [CONFD_PKG="$CONFD_PKG regex-pcre"]) |
556 | 21a5e56c | Iustin Pop | AC_GHC_PKG_CHECK([hslogger], [], [CONFD_PKG="$CONFD_PKG hslogger"]) |
557 | 21a5e56c | Iustin Pop | AC_GHC_PKG_CHECK([Crypto], [], [CONFD_PKG="$CONFD_PKG Crypto"]) |
558 | 21a5e56c | Iustin Pop | AC_GHC_PKG_CHECK([text], [], [CONFD_PKG="$CONFD_PKG text"]) |
559 | 21a5e56c | Iustin Pop | AC_GHC_PKG_CHECK([hinotify], [], [CONFD_PKG="$CONFD_PKG hinotify"]) |
560 | 432d62a8 | Helga Velroyen | AC_GHC_PKG_CHECK([vector], [], [CONFD_PKG="$CONFD_PKG vector"]) |
561 | 21a5e56c | Iustin Pop | if test -z "$CONFD_PKG"; then |
562 | 21a5e56c | Iustin Pop | has_confd=True |
563 | 52fca4ba | Michael Hanselmann | elif test "$enable_confd" = check; then |
564 | 52fca4ba | Michael Hanselmann | AC_MSG_WARN(m4_normalize([The required extra libraries for confd were |
565 | 52fca4ba | Michael Hanselmann | not found ($CONFD_PKG), confd disabled])) |
566 | e5bd9de5 | Iustin Pop | else |
567 | 52fca4ba | Michael Hanselmann | AC_MSG_FAILURE(m4_normalize([The confd functionality was requested, but |
568 | 52fca4ba | Michael Hanselmann | required libraries were not found: |
569 | 52fca4ba | Michael Hanselmann | $CONFD_PKG])) |
570 | e5bd9de5 | Iustin Pop | fi |
571 | e5bd9de5 | Iustin Pop | fi |
572 | d9a900dc | Iustin Pop | AC_SUBST(HS_REGEX_PCRE) |
573 | 52fca4ba | Michael Hanselmann | if test "$has_confd" = True; then |
574 | 21a5e56c | Iustin Pop | AC_MSG_NOTICE([Enabling confd usage]) |
575 | 21a5e56c | Iustin Pop | fi |
576 | 21a5e56c | Iustin Pop | AC_SUBST(ENABLE_CONFD, $has_confd) |
577 | 21a5e56c | Iustin Pop | AM_CONDITIONAL([ENABLE_CONFD], [test x$has_confd = xTrue]) |
578 | 21a5e56c | Iustin Pop | |
579 | 35c6e63d | Michele Tartara | #extra modules for monitoring agent functionality |
580 | 35c6e63d | Michele Tartara | has_monitoring=False |
581 | 52fca4ba | Michael Hanselmann | if test "$enable_monitoring" != no; then |
582 | 35c6e63d | Michele Tartara | MONITORING_PKG= |
583 | 52fca4ba | Michael Hanselmann | AC_GHC_PKG_CHECK([attoparsec], [], |
584 | 52fca4ba | Michael Hanselmann | [MONITORING_PKG="$MONITORING_PKG attoparsec"]) |
585 | 35c6e63d | Michele Tartara | if test -z "$MONITORING_PKG"; then |
586 | 35c6e63d | Michele Tartara | has_monitoring=True |
587 | 52fca4ba | Michael Hanselmann | elif test "$enable_monitoring" = check; then |
588 | 52fca4ba | Michael Hanselmann | AC_MSG_WARN(m4_normalize([The required extra libraries for the monitoring |
589 | 52fca4ba | Michael Hanselmann | agent were not found ($MONITORING_PKG), |
590 | 52fca4ba | Michael Hanselmann | monitoring disabled])) |
591 | 35c6e63d | Michele Tartara | else |
592 | 52fca4ba | Michael Hanselmann | AC_MSG_FAILURE(m4_normalize([The monitoring functionality was requested, but |
593 | 52fca4ba | Michael Hanselmann | required libraries were not found: |
594 | 52fca4ba | Michael Hanselmann | $MONITORING_PKG])) |
595 | 35c6e63d | Michele Tartara | fi |
596 | 35c6e63d | Michele Tartara | fi |
597 | 52fca4ba | Michael Hanselmann | if test "$has_monitoring" = True; then |
598 | 35c6e63d | Michele Tartara | AC_MSG_NOTICE([Enabling the monitoring agent usage]) |
599 | 35c6e63d | Michele Tartara | fi |
600 | 35c6e63d | Michele Tartara | AC_SUBST(ENABLE_MONITORING, $has_monitoring) |
601 | 52fca4ba | Michael Hanselmann | AM_CONDITIONAL([ENABLE_MONITORING], [test "$has_monitoring" = True]) |
602 | 35c6e63d | Michele Tartara | |
603 | 21a5e56c | Iustin Pop | # development modules |
604 | d9a900dc | Iustin Pop | HS_NODEV= |
605 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([QuickCheck-2.*], [], [HS_NODEV=1], t) |
606 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([test-framework-0.6*], [], [HS_NODEV=1], t) |
607 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([test-framework-hunit], [], [HS_NODEV=1]) |
608 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([test-framework-quickcheck2], [], [HS_NODEV=1]) |
609 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([temporary], [], [HS_NODEV=1]) |
610 | 35c6e63d | Michele Tartara | # FIXME: unify checks for non-test libraries (attoparsec, hinotify, ...) |
611 | 35c6e63d | Michele Tartara | # that are needed to execute the tests, avoiding the duplication |
612 | 35c6e63d | Michele Tartara | # of the checks. |
613 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([attoparsec], [], [HS_NODEV=1]) |
614 | d9a900dc | Iustin Pop | AC_GHC_PKG_CHECK([vector], [], [HS_NODEV=1]) |
615 | d9a900dc | Iustin Pop | if test -n "$HS_NODEV"; then |
616 | 21a5e56c | Iustin Pop | AC_MSG_WARN(m4_normalize([Required development modules were not found, |
617 | 21a5e56c | Iustin Pop | you won't be able to run Haskell unittests])) |
618 | 21a5e56c | Iustin Pop | else |
619 | 21a5e56c | Iustin Pop | AC_MSG_NOTICE([Haskell development modules found, unittests enabled]) |
620 | 21a5e56c | Iustin Pop | fi |
621 | d9a900dc | Iustin Pop | AC_SUBST(HS_NODEV) |
622 | 21a5e56c | Iustin Pop | |
623 | 21a5e56c | Iustin Pop | HTOOLS=yes |
624 | e5bd9de5 | Iustin Pop | AC_SUBST(HTOOLS) |
625 | e5bd9de5 | Iustin Pop | |
626 | 55837756 | Iustin Pop | # --enable-split-query |
627 | 55837756 | Iustin Pop | ENABLE_SPLIT_QUERY= |
628 | 55837756 | Iustin Pop | AC_ARG_ENABLE([split-query], |
629 | 55837756 | Iustin Pop | [AS_HELP_STRING([--enable-split-query], |
630 | 55837756 | Iustin Pop | [enable use of custom query daemon via confd])], |
631 | 55837756 | Iustin Pop | [[case "$enableval" in |
632 | 55837756 | Iustin Pop | no) |
633 | 55837756 | Iustin Pop | enable_split_query=False |
634 | 55837756 | Iustin Pop | ;; |
635 | 55837756 | Iustin Pop | yes) |
636 | 55837756 | Iustin Pop | enable_split_query=True |
637 | 55837756 | Iustin Pop | ;; |
638 | 55837756 | Iustin Pop | *) |
639 | 55837756 | Iustin Pop | echo "Invalid value for enable-confd '$enableval'" |
640 | 55837756 | Iustin Pop | exit 1 |
641 | 55837756 | Iustin Pop | ;; |
642 | 55837756 | Iustin Pop | esac |
643 | 55837756 | Iustin Pop | ]], |
644 | d9a900dc | Iustin Pop | [[case "x${has_confd}x${HS_NOCURL}x" in |
645 | 55837756 | Iustin Pop | xTruexx) |
646 | 55837756 | Iustin Pop | enable_split_query=True |
647 | 55837756 | Iustin Pop | ;; |
648 | 55837756 | Iustin Pop | *) |
649 | 55837756 | Iustin Pop | enable_split_query=False |
650 | 55837756 | Iustin Pop | ;; |
651 | 55837756 | Iustin Pop | esac]]) |
652 | 55837756 | Iustin Pop | AC_SUBST(ENABLE_SPLIT_QUERY, $enable_split_query) |
653 | 55837756 | Iustin Pop | |
654 | 21a5e56c | Iustin Pop | if test x$enable_split_query = xTrue -a x$has_confd != xTrue; then |
655 | 55837756 | Iustin Pop | AC_MSG_ERROR([Split queries require the confd daemon]) |
656 | 55837756 | Iustin Pop | fi |
657 | 55837756 | Iustin Pop | |
658 | d9a900dc | Iustin Pop | if test x$enable_split_query = xTrue -a x$HS_NOCURL != x; then |
659 | 55837756 | Iustin Pop | AC_MSG_ERROR([Split queries require the htools-rapi feature (curl library)]) |
660 | 55837756 | Iustin Pop | fi |
661 | 55837756 | Iustin Pop | |
662 | 55837756 | Iustin Pop | if test x$enable_split_query = xTrue; then |
663 | 55837756 | Iustin Pop | AC_MSG_NOTICE([Split query functionality enabled]) |
664 | 55837756 | Iustin Pop | fi |
665 | 55837756 | Iustin Pop | |
666 | e5bd9de5 | Iustin Pop | # Check for HsColour |
667 | d9a900dc | Iustin Pop | HS_APIDOC=no |
668 | e5bd9de5 | Iustin Pop | AC_ARG_VAR(HSCOLOUR, [HsColour path]) |
669 | e5bd9de5 | Iustin Pop | AC_PATH_PROG(HSCOLOUR, [HsColour], []) |
670 | e5bd9de5 | Iustin Pop | if test -z "$HSCOLOUR"; then |
671 | 30841576 | Michael Hanselmann | AC_MSG_WARN(m4_normalize([HsColour not found, htools API documentation will |
672 | 30841576 | Michael Hanselmann | not be generated])) |
673 | e5bd9de5 | Iustin Pop | fi |
674 | e5bd9de5 | Iustin Pop | |
675 | e5bd9de5 | Iustin Pop | # Check for haddock |
676 | e5bd9de5 | Iustin Pop | AC_ARG_VAR(HADDOCK, [haddock path]) |
677 | e5bd9de5 | Iustin Pop | AC_PATH_PROG(HADDOCK, [haddock], []) |
678 | e5bd9de5 | Iustin Pop | if test -z "$HADDOCK"; then |
679 | 30841576 | Michael Hanselmann | AC_MSG_WARN(m4_normalize([haddock not found, htools API documentation will |
680 | 30841576 | Michael Hanselmann | not be generated])) |
681 | e5bd9de5 | Iustin Pop | fi |
682 | 52fca4ba | Michael Hanselmann | if test -n "$HADDOCK" && test -n "$HSCOLOUR"; then |
683 | d9a900dc | Iustin Pop | HS_APIDOC=yes |
684 | e5bd9de5 | Iustin Pop | fi |
685 | d9a900dc | Iustin Pop | AC_SUBST(HS_APIDOC) |
686 | e5bd9de5 | Iustin Pop | |
687 | 6e4c8f68 | Iustin Pop | # Check for hlint |
688 | 6e4c8f68 | Iustin Pop | AC_ARG_VAR(HLINT, [hlint path]) |
689 | 6e4c8f68 | Iustin Pop | AC_PATH_PROG(HLINT, [hlint], []) |
690 | 6e4c8f68 | Iustin Pop | if test -z "$HLINT"; then |
691 | 6e4c8f68 | Iustin Pop | AC_MSG_WARN([hlint not found, checking code will not be possible]) |
692 | 6e4c8f68 | Iustin Pop | fi |
693 | 6e4c8f68 | Iustin Pop | |
694 | 52fca4ba | Michael Hanselmann | if test "$HTOOLS" != yes && test "$ENABLE_CONFD" = True; then |
695 | 52fca4ba | Michael Hanselmann | AC_MSG_ERROR(m4_normalize([cannot enable ganeti-confd if |
696 | 52fca4ba | Michael Hanselmann | htools support is not enabled])) |
697 | 73b0fa69 | Iustin Pop | fi |
698 | 73b0fa69 | Iustin Pop | |
699 | 52fca4ba | Michael Hanselmann | AM_CONDITIONAL([WANT_HTOOLS], [test "$HTOOLS" = yes]) |
700 | d9a900dc | Iustin Pop | AM_CONDITIONAL([WANT_HSTESTS], [test "x$HS_NODEV" = x]) |
701 | d9a900dc | Iustin Pop | AM_CONDITIONAL([WANT_HSAPIDOC], [test "$HS_APIDOC" = yes]) |
702 | 6e4c8f68 | Iustin Pop | AM_CONDITIONAL([HAS_HLINT], [test "$HLINT"]) |
703 | e5bd9de5 | Iustin Pop | |
704 | 70041061 | Bernardo Dal Seno | # Check for fakeroot |
705 | 70041061 | Bernardo Dal Seno | AC_ARG_VAR(FAKEROOT_PATH, [fakeroot path]) |
706 | 70041061 | Bernardo Dal Seno | AC_PATH_PROG(FAKEROOT_PATH, [fakeroot], []) |
707 | 70041061 | Bernardo Dal Seno | if test -z "$FAKEROOT_PATH"; then |
708 | 70041061 | Bernardo Dal Seno | AC_MSG_WARN(m4_normalize([fakeroot not found, tests that must run as root |
709 | 70041061 | Bernardo Dal Seno | will not be executed])) |
710 | 70041061 | Bernardo Dal Seno | fi |
711 | 70041061 | Bernardo Dal Seno | AM_CONDITIONAL([HAS_FAKEROOT], [test "x$FAKEROOT_PATH" != x]) |
712 | 70041061 | Bernardo Dal Seno | |
713 | fe5b0c42 | Michael Hanselmann | SOCAT_USE_ESCAPE= |
714 | fe5b0c42 | Michael Hanselmann | AC_ARG_ENABLE([socat-escape], |
715 | fe5b0c42 | Michael Hanselmann | [AS_HELP_STRING([--enable-socat-escape], |
716 | fe5b0c42 | Michael Hanselmann | [use escape functionality available in socat >= 1.7 (default: detect |
717 | fe5b0c42 | Michael Hanselmann | automatically)])], |
718 | fe5b0c42 | Michael Hanselmann | [[if test "$enableval" = yes; then |
719 | fe5b0c42 | Michael Hanselmann | SOCAT_USE_ESCAPE=True |
720 | fe5b0c42 | Michael Hanselmann | else |
721 | fe5b0c42 | Michael Hanselmann | SOCAT_USE_ESCAPE=False |
722 | fe5b0c42 | Michael Hanselmann | fi |
723 | fe5b0c42 | Michael Hanselmann | ]]) |
724 | fe5b0c42 | Michael Hanselmann | |
725 | fe5b0c42 | Michael Hanselmann | if test -z "$SOCAT_USE_ESCAPE" |
726 | 87c1d0c7 | Guido Trotter | then |
727 | fe5b0c42 | Michael Hanselmann | if $SOCAT -hh | grep -w -q escape; then |
728 | fe5b0c42 | Michael Hanselmann | SOCAT_USE_ESCAPE=True |
729 | fe5b0c42 | Michael Hanselmann | else |
730 | fe5b0c42 | Michael Hanselmann | SOCAT_USE_ESCAPE=False |
731 | fe5b0c42 | Michael Hanselmann | fi |
732 | 87c1d0c7 | Guido Trotter | fi |
733 | 87c1d0c7 | Guido Trotter | |
734 | fe5b0c42 | Michael Hanselmann | AC_SUBST(SOCAT_USE_ESCAPE) |
735 | fe5b0c42 | Michael Hanselmann | |
736 | e90739d6 | Michael Hanselmann | SOCAT_USE_COMPRESS= |
737 | e90739d6 | Michael Hanselmann | AC_ARG_ENABLE([socat-compress], |
738 | e90739d6 | Michael Hanselmann | [AS_HELP_STRING([--enable-socat-compress], |
739 | e90739d6 | Michael Hanselmann | [use OpenSSL compression option available in patched socat builds |
740 | e90739d6 | Michael Hanselmann | (see INSTALL for details; default: detect automatically)])], |
741 | e90739d6 | Michael Hanselmann | [[if test "$enableval" = yes; then |
742 | e90739d6 | Michael Hanselmann | SOCAT_USE_COMPRESS=True |
743 | e90739d6 | Michael Hanselmann | else |
744 | e90739d6 | Michael Hanselmann | SOCAT_USE_COMPRESS=False |
745 | e90739d6 | Michael Hanselmann | fi |
746 | e90739d6 | Michael Hanselmann | ]]) |
747 | e90739d6 | Michael Hanselmann | |
748 | e90739d6 | Michael Hanselmann | if test -z "$SOCAT_USE_COMPRESS" |
749 | e90739d6 | Michael Hanselmann | then |
750 | e90739d6 | Michael Hanselmann | if $SOCAT -hhh | grep -w -q openssl-compress; then |
751 | e90739d6 | Michael Hanselmann | SOCAT_USE_COMPRESS=True |
752 | e90739d6 | Michael Hanselmann | else |
753 | e90739d6 | Michael Hanselmann | SOCAT_USE_COMPRESS=False |
754 | e90739d6 | Michael Hanselmann | fi |
755 | e90739d6 | Michael Hanselmann | fi |
756 | e90739d6 | Michael Hanselmann | |
757 | e90739d6 | Michael Hanselmann | AC_SUBST(SOCAT_USE_COMPRESS) |
758 | e90739d6 | Michael Hanselmann | |
759 | 5f55173b | Iustin Pop | if man --help | grep -q -e --warnings |
760 | 5f55173b | Iustin Pop | then |
761 | 5f55173b | Iustin Pop | MAN_HAS_WARNINGS=1 |
762 | 5f55173b | Iustin Pop | else |
763 | 5f55173b | Iustin Pop | MAN_HAS_WARNINGS= |
764 | 30841576 | Michael Hanselmann | AC_MSG_WARN(m4_normalize([man does not support --warnings, man page checks |
765 | 30841576 | Michael Hanselmann | will not be possible])) |
766 | 5f55173b | Iustin Pop | fi |
767 | 5f55173b | Iustin Pop | |
768 | 5f55173b | Iustin Pop | AC_SUBST(MAN_HAS_WARNINGS) |
769 | 5f55173b | Iustin Pop | |
770 | a5d17f9f | Michael Hanselmann | # Check for Python |
771 | a8083063 | Iustin Pop | AM_PATH_PYTHON(2.4) |
772 | a8083063 | Iustin Pop | |
773 | 6e06b36c | Iustin Pop | AC_PYTHON_MODULE(OpenSSL, t) |
774 | 6e06b36c | Iustin Pop | AC_PYTHON_MODULE(simplejson, t) |
775 | 6e06b36c | Iustin Pop | AC_PYTHON_MODULE(pyparsing, t) |
776 | 0f18ee6d | Guido Trotter | AC_PYTHON_MODULE(pyinotify, t) |
777 | 28af40c8 | Guido Trotter | AC_PYTHON_MODULE(pycurl, t) |
778 | 0a09b080 | Michael Hanselmann | AC_PYTHON_MODULE(bitarray, t) |
779 | 0a09b080 | Michael Hanselmann | AC_PYTHON_MODULE(ipaddr, t) |
780 | 4f6396fd | Iustin Pop | AC_PYTHON_MODULE(affinity) |
781 | a40b1fc4 | René Nussbaumer | AC_PYTHON_MODULE(paramiko) |
782 | a40b1fc4 | René Nussbaumer | |
783 | e8230860 | Michael Hanselmann | AC_CONFIG_FILES([ Makefile ]) |
784 | 3571f686 | Iustin Pop | |
785 | a8083063 | Iustin Pop | AC_OUTPUT |