Statistics
| Branch: | Tag: | Revision:

root / configure.ac @ 2e5eb96a

History | View | Annotate | Download (14.6 kB)

1 a5d17f9f Michael Hanselmann
# Configure script for Ganeti
2 5e29d733 Michael Hanselmann
m4_define([gnt_version_major], [2])
3 a91f69c4 Michael Hanselmann
m4_define([gnt_version_minor], [4])
4 ccce780c Iustin Pop
m4_define([gnt_version_revision], [2])
5 20203756 Iustin Pop
m4_define([gnt_version_suffix], [])
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 7c3d51d4 Guido Trotter
# --with-os-search-path=...
53 7c3d51d4 Guido Trotter
# do a bit of black sed magic to for quoting of the strings in the list
54 7c3d51d4 Guido Trotter
AC_ARG_WITH([os-search-path],
55 7c3d51d4 Guido Trotter
  [AS_HELP_STRING([--with-os-search-path=LIST],
56 f00b46bc Michael Hanselmann
    [comma separated list of directories to]
57 f00b46bc Michael Hanselmann
    [ search for OS images (default is /srv/ganeti/os)]
58 7c3d51d4 Guido Trotter
  )],
59 7c3d51d4 Guido Trotter
  [os_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`],
60 7c3d51d4 Guido Trotter
  [os_search_path="'/srv/ganeti/os'"])
61 7c3d51d4 Guido Trotter
AC_SUBST(OS_SEARCH_PATH, $os_search_path)
62 7c3d51d4 Guido Trotter
63 298fe380 Iustin Pop
# --with-iallocator-search-path=...
64 298fe380 Iustin Pop
# do a bit of black sed magic to for quoting of the strings in the list
65 298fe380 Iustin Pop
AC_ARG_WITH([iallocator-search-path],
66 298fe380 Iustin Pop
  [AS_HELP_STRING([--with-iallocator-search-path=LIST],
67 298fe380 Iustin Pop
    [comma separated list of directories to]
68 298fe380 Iustin Pop
    [ search for instance allocators (default is $libdir/ganeti/iallocators)]
69 298fe380 Iustin Pop
  )],
70 298fe380 Iustin Pop
  [iallocator_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`],
71 298fe380 Iustin Pop
  [iallocator_search_path="'$libdir/$PACKAGE_NAME/iallocators'"])
72 298fe380 Iustin Pop
AC_SUBST(IALLOCATOR_SEARCH_PATH, $iallocator_search_path)
73 298fe380 Iustin Pop
74 2f2dbb4b Jun Futagawa
# --with-xen-bootloader=...
75 2f2dbb4b Jun Futagawa
AC_ARG_WITH([xen-bootloader],
76 2f2dbb4b Jun Futagawa
  [AS_HELP_STRING([--with-xen-bootloader=PATH],
77 2f2dbb4b Jun Futagawa
    [bootloader for Xen hypervisor (default is empty)]
78 2f2dbb4b Jun Futagawa
  )],
79 2f2dbb4b Jun Futagawa
  [xen_bootloader="$withval"],
80 2f2dbb4b Jun Futagawa
  [xen_bootloader=])
81 2f2dbb4b Jun Futagawa
AC_SUBST(XEN_BOOTLOADER, $xen_bootloader)
82 2f2dbb4b Jun Futagawa
83 f00b46bc Michael Hanselmann
# --with-xen-kernel=...
84 f00b46bc Michael Hanselmann
AC_ARG_WITH([xen-kernel],
85 f00b46bc Michael Hanselmann
  [AS_HELP_STRING([--with-xen-kernel=PATH],
86 f00b46bc Michael Hanselmann
    [DomU kernel image for Xen hypervisor (default is /boot/vmlinuz-2.6-xenU)]
87 f00b46bc Michael Hanselmann
  )],
88 f00b46bc Michael Hanselmann
  [xen_kernel="$withval"],
89 f00b46bc Michael Hanselmann
  [xen_kernel="/boot/vmlinuz-2.6-xenU"])
90 f00b46bc Michael Hanselmann
AC_SUBST(XEN_KERNEL, $xen_kernel)
91 f00b46bc Michael Hanselmann
92 f00b46bc Michael Hanselmann
# --with-xen-initrd=...
93 f00b46bc Michael Hanselmann
AC_ARG_WITH([xen-initrd],
94 f00b46bc Michael Hanselmann
  [AS_HELP_STRING([--with-xen-initrd=PATH],
95 f00b46bc Michael Hanselmann
    [DomU initrd image for Xen hypervisor (default is /boot/initrd-2.6-xenU)]
96 f00b46bc Michael Hanselmann
  )],
97 f00b46bc Michael Hanselmann
  [xen_initrd="$withval"],
98 f00b46bc Michael Hanselmann
  [xen_initrd="/boot/initrd-2.6-xenU"])
99 f00b46bc Michael Hanselmann
AC_SUBST(XEN_INITRD, $xen_initrd)
100 f00b46bc Michael Hanselmann
101 22c734bc Manuel Franceschini
# --with-file-storage-dir=...
102 22c734bc Manuel Franceschini
AC_ARG_WITH([file-storage-dir],
103 22c734bc Manuel Franceschini
  [AS_HELP_STRING([--with-file-storage-dir=PATH],
104 22c734bc Manuel Franceschini
    [directory to store files for file-based backend]
105 22c734bc Manuel Franceschini
    [ (default is /srv/ganeti/file-storage)]
106 22c734bc Manuel Franceschini
  )],
107 cb7c0198 Iustin Pop
  [[file_storage_dir="$withval";
108 cb7c0198 Iustin Pop
    if test "$withval" != no; then
109 cb7c0198 Iustin Pop
      enable_file_storage=True
110 cb7c0198 Iustin Pop
    else
111 cb7c0198 Iustin Pop
      enable_file_storage=False
112 cb7c0198 Iustin Pop
    fi
113 cb7c0198 Iustin Pop
  ]],
114 30841576 Michael Hanselmann
  [[file_storage_dir="/srv/ganeti/file-storage";
115 30841576 Michael Hanselmann
    enable_file_storage="True"]])
116 22c734bc Manuel Franceschini
AC_SUBST(FILE_STORAGE_DIR, $file_storage_dir)
117 cb7c0198 Iustin Pop
AC_SUBST(ENABLE_FILE_STORAGE, $enable_file_storage)
118 22c734bc Manuel Franceschini
119 4b97f902 Apollon Oikonomopoulos
# --with-shared-file-storage-dir=...
120 4b97f902 Apollon Oikonomopoulos
AC_ARG_WITH([shared-file-storage-dir],
121 4b97f902 Apollon Oikonomopoulos
  [AS_HELP_STRING([--with-shared-file-storage-dir=PATH],
122 4b97f902 Apollon Oikonomopoulos
    [directory to store files for shared file-based backend]
123 4b97f902 Apollon Oikonomopoulos
    [ (default is /srv/ganeti/shared-file-storage)]
124 4b97f902 Apollon Oikonomopoulos
  )],
125 4b97f902 Apollon Oikonomopoulos
  [[shared_file_storage_dir="$withval";
126 4b97f902 Apollon Oikonomopoulos
    if test "$withval" != no; then
127 4b97f902 Apollon Oikonomopoulos
      enable_shared_file_storage=True
128 4b97f902 Apollon Oikonomopoulos
    else
129 4b97f902 Apollon Oikonomopoulos
      enable_shared_file_storage=False
130 4b97f902 Apollon Oikonomopoulos
    fi
131 4b97f902 Apollon Oikonomopoulos
  ]],
132 30841576 Michael Hanselmann
  [[shared_file_storage_dir="/srv/ganeti/shared-file-storage";
133 30841576 Michael Hanselmann
    enable_shared_file_storage="True"]])
134 4b97f902 Apollon Oikonomopoulos
AC_SUBST(SHARED_FILE_STORAGE_DIR, $shared_file_storage_dir)
135 4b97f902 Apollon Oikonomopoulos
AC_SUBST(ENABLE_SHARED_FILE_STORAGE, $enable_shared_file_storage)
136 4b97f902 Apollon Oikonomopoulos
137 7e2c5b9e Guido Trotter
# --with-kvm-path=...
138 7e2c5b9e Guido Trotter
AC_ARG_WITH([kvm-path],
139 7e2c5b9e Guido Trotter
  [AS_HELP_STRING([--with-kvm-path=PATH],
140 7e2c5b9e Guido Trotter
    [absolute path to the kvm binary]
141 7e2c5b9e Guido Trotter
    [ (default is /usr/bin/kvm)]
142 7e2c5b9e Guido Trotter
  )],
143 7e2c5b9e Guido Trotter
  [kvm_path="$withval"],
144 7e2c5b9e Guido Trotter
  [kvm_path="/usr/bin/kvm"])
145 7e2c5b9e Guido Trotter
AC_SUBST(KVM_PATH, $kvm_path)
146 7e2c5b9e Guido Trotter
147 89b70f39 Iustin Pop
# --with-lvm-stripecount=...
148 3736cb6b Iustin Pop
AC_ARG_WITH([lvm-stripecount],
149 3736cb6b Iustin Pop
  [AS_HELP_STRING([--with-lvm-stripecount=NUM],
150 3736cb6b Iustin Pop
    [the number of stripes to use for LVM volumes]
151 7b3ac94d Iustin Pop
    [ (default is 1)]
152 3736cb6b Iustin Pop
  )],
153 3736cb6b Iustin Pop
  [lvm_stripecount="$withval"],
154 7b3ac94d Iustin Pop
  [lvm_stripecount="1"])
155 3736cb6b Iustin Pop
AC_SUBST(LVM_STRIPECOUNT, $lvm_stripecount)
156 3736cb6b Iustin Pop
157 0d150c50 René Nussbaumer
# --with-user-prefix=...
158 0d150c50 René Nussbaumer
AC_ARG_WITH([user-prefix],
159 0d150c50 René Nussbaumer
  [AS_HELP_STRING([--with-user-prefix=PREFIX],
160 0d150c50 René Nussbaumer
    [prefix for daemon users]
161 0d150c50 René Nussbaumer
    [ (default is to run all daemons as root)]
162 0d150c50 René Nussbaumer
  )],
163 3794937c René Nussbaumer
  [user_masterd="${withval}masterd";
164 0d150c50 René Nussbaumer
   user_rapi="${withval}rapi";
165 3794937c René Nussbaumer
   user_confd="${withval}confd";
166 0d150c50 René Nussbaumer
   user_noded="root"],
167 0d150c50 René Nussbaumer
  [user_masterd="root";
168 0d150c50 René Nussbaumer
   user_rapi="root";
169 0d150c50 René Nussbaumer
   user_confd="root";
170 0d150c50 René Nussbaumer
   user_noded="root"])
171 0d150c50 René Nussbaumer
AC_SUBST(MASTERD_USER, $user_masterd)
172 0d150c50 René Nussbaumer
AC_SUBST(RAPI_USER, $user_rapi)
173 0d150c50 René Nussbaumer
AC_SUBST(CONFD_USER, $user_confd)
174 0d150c50 René Nussbaumer
AC_SUBST(NODED_USER, $user_noded)
175 0d150c50 René Nussbaumer
176 0d150c50 René Nussbaumer
# --with-group-prefix=...
177 0d150c50 René Nussbaumer
AC_ARG_WITH([group-prefix],
178 0d150c50 René Nussbaumer
  [AS_HELP_STRING([--with-group-prefix=PREFIX],
179 0d150c50 René Nussbaumer
    [prefix for daemon POSIX groups]
180 0d150c50 René Nussbaumer
    [ (default is to run all daemons under group root)]
181 0d150c50 René Nussbaumer
  )],
182 3794937c René Nussbaumer
  [group_rapi="${withval}rapi";
183 3794937c René Nussbaumer
   group_admin="${withval}admin";
184 3794937c René Nussbaumer
   group_confd="${withval}confd";
185 3794937c René Nussbaumer
   group_masterd="${withval}masterd";
186 0d150c50 René Nussbaumer
   group_daemons="${withval}daemons";],
187 0d150c50 René Nussbaumer
  [group_rapi="root";
188 0d150c50 René Nussbaumer
   group_admin="root";
189 0d150c50 René Nussbaumer
   group_confd="root";
190 0d150c50 René Nussbaumer
   group_masterd="root";
191 0d150c50 René Nussbaumer
   group_daemons="root"])
192 0d150c50 René Nussbaumer
AC_SUBST(RAPI_GROUP, $group_rapi)
193 0d150c50 René Nussbaumer
AC_SUBST(ADMIN_GROUP, $group_admin)
194 0d150c50 René Nussbaumer
AC_SUBST(CONFD_GROUP, $group_confd)
195 0d150c50 René Nussbaumer
AC_SUBST(MASTERD_GROUP, $group_masterd)
196 0d150c50 René Nussbaumer
AC_SUBST(DAEMONS_GROUP, $group_daemons)
197 0d150c50 René Nussbaumer
198 0d150c50 René Nussbaumer
# Print the config to the user
199 0d150c50 René Nussbaumer
AC_MSG_NOTICE([Running ganeti-masterd as $group_masterd:$group_masterd])
200 0d150c50 René Nussbaumer
AC_MSG_NOTICE([Running ganeti-rapi as $user_rapi:$group_rapi])
201 0d150c50 René Nussbaumer
AC_MSG_NOTICE([Running ganeti-confd as $user_confd:$group_confd])
202 0d150c50 René Nussbaumer
AC_MSG_NOTICE([Group for daemons is $group_daemons])
203 0d150c50 René Nussbaumer
AC_MSG_NOTICE([Group for clients is $group_admin])
204 0d150c50 René Nussbaumer
205 89b70f39 Iustin Pop
# --enable-drbd-barriers
206 89b70f39 Iustin Pop
AC_ARG_ENABLE([drbd-barriers],
207 89b70f39 Iustin Pop
  [AS_HELP_STRING([--enable-drbd-barriers],
208 89b70f39 Iustin Pop
    [enable the DRBD barrier functionality (>= 8.0.12) (default: enabled)])],
209 89b70f39 Iustin Pop
  [[if test "$enableval" != no; then
210 89b70f39 Iustin Pop
      DRBD_BARRIERS=True
211 89b70f39 Iustin Pop
    else
212 89b70f39 Iustin Pop
      DRBD_BARRIERS=False
213 89b70f39 Iustin Pop
    fi
214 89b70f39 Iustin Pop
  ]],
215 89b70f39 Iustin Pop
  [DRBD_BARRIERS=True])
216 89b70f39 Iustin Pop
AC_SUBST(DRBD_BARRIERS, $DRBD_BARRIERS)
217 89b70f39 Iustin Pop
218 551b6283 Iustin Pop
# --enable-syslog[=no/yes/only]
219 551b6283 Iustin Pop
AC_ARG_ENABLE([syslog],
220 551b6283 Iustin Pop
  [AS_HELP_STRING([--enable-syslog],
221 551b6283 Iustin Pop
    [enable use of syslog (default: disabled), one of no/yes/only])],
222 551b6283 Iustin Pop
  [[case "$enableval" in
223 551b6283 Iustin Pop
      no)
224 551b6283 Iustin Pop
        SYSLOG=no
225 551b6283 Iustin Pop
        ;;
226 551b6283 Iustin Pop
      yes)
227 551b6283 Iustin Pop
        SYSLOG=yes
228 551b6283 Iustin Pop
        ;;
229 551b6283 Iustin Pop
      only)
230 551b6283 Iustin Pop
        SYSLOG=only
231 551b6283 Iustin Pop
        ;;
232 551b6283 Iustin Pop
      *)
233 551b6283 Iustin Pop
        SYSLOG=
234 551b6283 Iustin Pop
        ;;
235 551b6283 Iustin Pop
    esac
236 551b6283 Iustin Pop
  ]],
237 551b6283 Iustin Pop
  [SYSLOG=no])
238 551b6283 Iustin Pop
239 551b6283 Iustin Pop
if test -z "$SYSLOG"
240 551b6283 Iustin Pop
then
241 551b6283 Iustin Pop
  AC_MSG_ERROR([invalid value for syslog, choose one of no/yes/only])
242 551b6283 Iustin Pop
fi
243 551b6283 Iustin Pop
AC_SUBST(SYSLOG_USAGE, $SYSLOG)
244 551b6283 Iustin Pop
245 e5bd9de5 Iustin Pop
# --enable-htools
246 e5bd9de5 Iustin Pop
HTOOLS=
247 e5bd9de5 Iustin Pop
AC_ARG_ENABLE([htools],
248 e5bd9de5 Iustin Pop
        [AS_HELP_STRING([--enable-htools],
249 e5bd9de5 Iustin Pop
        [enable use of htools (needs GHC and libraries, default: check)])],
250 e5bd9de5 Iustin Pop
        [],
251 e5bd9de5 Iustin Pop
        [enable_htools=check])
252 e5bd9de5 Iustin Pop
253 50ed57c1 Iustin Pop
# --enable-htools-rapi
254 50ed57c1 Iustin Pop
HTOOLS_RAPI=
255 50ed57c1 Iustin Pop
AC_ARG_ENABLE([htools-rapi],
256 50ed57c1 Iustin Pop
        [AS_HELP_STRING([--enable-htools-rapi],
257 50ed57c1 Iustin Pop
        [enable use of RAPI in htools (needs curl, default: no)])],
258 50ed57c1 Iustin Pop
        [],
259 50ed57c1 Iustin Pop
        [enable_htools_rapi=no])
260 50ed57c1 Iustin Pop
261 3536c792 Iustin Pop
# --with-disk-separator=...
262 3536c792 Iustin Pop
AC_ARG_WITH([disk-separator],
263 3536c792 Iustin Pop
  [AS_HELP_STRING([--with-disk-separator=STRING],
264 30841576 Michael Hanselmann
    [Disk index separator, useful if the default of ':' is handled]
265 30841576 Michael Hanselmann
    [ specially by the hypervisor]
266 3536c792 Iustin Pop
  )],
267 3536c792 Iustin Pop
  [disk_separator="$withval"],
268 3536c792 Iustin Pop
  [disk_separator=":"])
269 3536c792 Iustin Pop
AC_SUBST(DISK_SEPARATOR, $disk_separator)
270 3536c792 Iustin Pop
271 a5d17f9f Michael Hanselmann
# Check common programs
272 a8083063 Iustin Pop
AC_PROG_INSTALL
273 9ff7e35c Michael Hanselmann
AC_PROG_LN_S
274 a8083063 Iustin Pop
275 18e2b6e4 Iustin Pop
# Check for pandoc
276 5208e732 Iustin Pop
AC_ARG_VAR(PANDOC, [pandoc path])
277 5208e732 Iustin Pop
AC_PATH_PROG(PANDOC, [pandoc], [])
278 5208e732 Iustin Pop
if test -z "$PANDOC"
279 5208e732 Iustin Pop
then
280 5208e732 Iustin Pop
  AC_MSG_WARN([pandoc not found, man pages rebuild will not be possible])
281 5208e732 Iustin Pop
fi
282 5208e732 Iustin Pop
283 d17e74b4 Iustin Pop
# Check for python-sphinx
284 d17e74b4 Iustin Pop
AC_ARG_VAR(SPHINX, [sphinx-build path])
285 d17e74b4 Iustin Pop
AC_PATH_PROG(SPHINX, [sphinx-build], [])
286 d17e74b4 Iustin Pop
if test -z "$SPHINX"
287 f05c99f3 Michael Hanselmann
then
288 30841576 Michael Hanselmann
  AC_MSG_WARN(m4_normalize([sphinx-build not found, documentation rebuild will
289 30841576 Michael Hanselmann
                            not be possible]))
290 f05c99f3 Michael Hanselmann
fi
291 f05c99f3 Michael Hanselmann
292 f86e82ef Iustin Pop
# Check for graphviz (dot)
293 f86e82ef Iustin Pop
AC_ARG_VAR(DOT, [dot path])
294 f86e82ef Iustin Pop
AC_PATH_PROG(DOT, [dot], [])
295 f86e82ef Iustin Pop
if test -z "$DOT"
296 f86e82ef Iustin Pop
then
297 30841576 Michael Hanselmann
  AC_MSG_WARN(m4_normalize([dot (from the graphviz suite) not found,
298 30841576 Michael Hanselmann
                            documentation rebuild not possible]))
299 f86e82ef Iustin Pop
fi
300 f86e82ef Iustin Pop
301 6d7cc5ff Michael Hanselmann
# Check for pylint
302 6d7cc5ff Michael Hanselmann
AC_ARG_VAR(PYLINT, [pylint path])
303 6d7cc5ff Michael Hanselmann
AC_PATH_PROG(PYLINT, [pylint], [])
304 6d7cc5ff Michael Hanselmann
if test -z "$PYLINT"
305 6d7cc5ff Michael Hanselmann
then
306 6d7cc5ff Michael Hanselmann
  AC_MSG_WARN([pylint not found, checking code will not be possible])
307 6d7cc5ff Michael Hanselmann
fi
308 6d7cc5ff Michael Hanselmann
309 fe5b0c42 Michael Hanselmann
# Check for socat
310 fe5b0c42 Michael Hanselmann
AC_ARG_VAR(SOCAT, [socat path])
311 fe5b0c42 Michael Hanselmann
AC_PATH_PROG(SOCAT, [socat], [])
312 87c1d0c7 Guido Trotter
if test -z "$SOCAT"
313 87c1d0c7 Guido Trotter
then
314 fe5b0c42 Michael Hanselmann
  AC_MSG_ERROR([socat not found])
315 87c1d0c7 Guido Trotter
fi
316 87c1d0c7 Guido Trotter
317 e5bd9de5 Iustin Pop
if test "$enable_htools" != "no"; then
318 e5bd9de5 Iustin Pop
319 e5bd9de5 Iustin Pop
# Check for ghc
320 e5bd9de5 Iustin Pop
AC_ARG_VAR(GHC, [ghc path])
321 e5bd9de5 Iustin Pop
AC_PATH_PROG(GHC, [ghc], [])
322 e5bd9de5 Iustin Pop
if test -z "$GHC"; then
323 e5bd9de5 Iustin Pop
  if test "$enable_htools" != "check"; then
324 e5bd9de5 Iustin Pop
    AC_MSG_FAILURE([ghc not found, htools compilation will not possible])
325 e5bd9de5 Iustin Pop
  fi
326 e5bd9de5 Iustin Pop
fi
327 e5bd9de5 Iustin Pop
328 e5bd9de5 Iustin Pop
# Check for ghc-pkg
329 e5bd9de5 Iustin Pop
HTOOLS_MODULES=
330 e5bd9de5 Iustin Pop
AC_ARG_VAR(GHC_PKG, [ghc-pkg path])
331 e5bd9de5 Iustin Pop
AC_PATH_PROG(GHC_PKG, [ghc-pkg], [])
332 e5bd9de5 Iustin Pop
if test -z "$GHC_PKG"; then
333 e5bd9de5 Iustin Pop
  if test "$enable_htools" != "check"; then
334 e5bd9de5 Iustin Pop
    AC_MSG_FAILURE([ghc-pkg not found, htools compilation will not be possible])
335 e5bd9de5 Iustin Pop
  fi
336 e5bd9de5 Iustin Pop
else
337 e5bd9de5 Iustin Pop
  # check for modules
338 e5bd9de5 Iustin Pop
  AC_MSG_NOTICE([checking for required haskell modules])
339 50ed57c1 Iustin Pop
  HTOOLS_NOCURL=-DNO_CURL
340 50ed57c1 Iustin Pop
  if test "$enable_htools_rapi" != "no"; then
341 50ed57c1 Iustin Pop
    AC_MSG_CHECKING([curl])
342 50ed57c1 Iustin Pop
    GHC_PKG_CURL=$($GHC_PKG latest curl)
343 50ed57c1 Iustin Pop
    if test -z "$GHC_PKG_CURL"; then
344 50ed57c1 Iustin Pop
      if test "$enable_htools_rapi" = "check"; then
345 30841576 Michael Hanselmann
        AC_MSG_WARN(m4_normalize([The curl library not found, htools will be
346 30841576 Michael Hanselmann
                                  compiled without RAPI support]))
347 50ed57c1 Iustin Pop
      else
348 30841576 Michael Hanselmann
        AC_MSG_FAILURE(m4_normalize([The curl library was not found, but it has
349 30841576 Michael Hanselmann
                                     been requested]))
350 50ed57c1 Iustin Pop
      fi
351 50ed57c1 Iustin Pop
    else
352 50ed57c1 Iustin Pop
      HTOOLS_NOCURL=
353 50ed57c1 Iustin Pop
    fi
354 50ed57c1 Iustin Pop
    AC_MSG_RESULT($GHC_PKG_CURL)
355 e5bd9de5 Iustin Pop
  fi
356 e5bd9de5 Iustin Pop
  AC_SUBST(GHC_PKG_CURL)
357 50ed57c1 Iustin Pop
  AC_SUBST(HTOOLS_NOCURL)
358 e5bd9de5 Iustin Pop
  AC_MSG_CHECKING([parallel])
359 e5bd9de5 Iustin Pop
  GHC_PKG_PARALLEL=$($GHC_PKG --simple-output list 'parallel-2.*')
360 e5bd9de5 Iustin Pop
  if test -z "$GHC_PKG_PARALLEL"
361 e5bd9de5 Iustin Pop
  then
362 e5bd9de5 Iustin Pop
    GHC_PKG_PARALLEL=$($GHC_PKG --simple-output list 'parallel-1.*')
363 e5bd9de5 Iustin Pop
  fi
364 e5bd9de5 Iustin Pop
  AC_SUBST(GHC_PKG_PARALLEL)
365 e5bd9de5 Iustin Pop
  AC_MSG_RESULT($GHC_PKG_PARALLEL)
366 e5bd9de5 Iustin Pop
  AC_MSG_CHECKING([json])
367 e5bd9de5 Iustin Pop
  GHC_PKG_JSON=$($GHC_PKG latest json)
368 e5bd9de5 Iustin Pop
  AC_MSG_RESULT($GHC_PKG_JSON)
369 e5bd9de5 Iustin Pop
  AC_MSG_CHECKING([network])
370 e5bd9de5 Iustin Pop
  GHC_PKG_NETWORK=$($GHC_PKG latest network)
371 e5bd9de5 Iustin Pop
  AC_MSG_RESULT($GHC_PKG_NETWORK)
372 fd0bc853 Iustin Pop
  AC_MSG_CHECKING([QuickCheck 1.x])
373 fd0bc853 Iustin Pop
  GHC_PKG_QUICKCHECK=$($GHC_PKG --simple-output list 'QuickCheck-1.*')
374 fd0bc853 Iustin Pop
  AC_MSG_RESULT($GHC_PKG_QUICKCHECK)
375 e5bd9de5 Iustin Pop
  if test -z "$GHC_PKG_PARALLEL" || test -z "$GHC_PKG_JSON" || \
376 e5bd9de5 Iustin Pop
     test -z "$GHC_PKG_NETWORK"; then
377 e5bd9de5 Iustin Pop
    if test "$enable_htools" != "check"; then
378 30841576 Michael Hanselmann
      AC_MSG_FAILURE(m4_normalize([Required Haskell modules not found, htools
379 30841576 Michael Hanselmann
                                   compilation disabled]))
380 e5bd9de5 Iustin Pop
    fi
381 e5bd9de5 Iustin Pop
  else
382 e5bd9de5 Iustin Pop
    # we leave the other modules to be auto-selected
383 e5bd9de5 Iustin Pop
    HTOOLS_MODULES="-package $GHC_PKG_PARALLEL"
384 e5bd9de5 Iustin Pop
  fi
385 fd0bc853 Iustin Pop
  if test -z "$GHC_PKG_QUICKCHECK"; then
386 fd0bc853 Iustin Pop
     AC_MSG_WARN(m4_normalize([The QuickCheck 1.x module was not found,
387 fd0bc853 Iustin Pop
                               you won't be able to run Haskell unittests]))
388 fd0bc853 Iustin Pop
  fi
389 e5bd9de5 Iustin Pop
fi
390 e5bd9de5 Iustin Pop
AC_SUBST(HTOOLS_MODULES)
391 fd0bc853 Iustin Pop
AC_SUBST(GHC_PKG_QUICKCHECK)
392 e5bd9de5 Iustin Pop
393 e5bd9de5 Iustin Pop
if test "$enable_htools" != "no"; then
394 e5bd9de5 Iustin Pop
  if test -z "$GHC" || test -z "$HTOOLS_MODULES"; then
395 30841576 Michael Hanselmann
    AC_MSG_WARN(m4_normalize([Haskell compiler/required libraries not found,
396 30841576 Michael Hanselmann
                              htools compilation disabled]))
397 e5bd9de5 Iustin Pop
  else
398 e5bd9de5 Iustin Pop
    HTOOLS=yes
399 e5bd9de5 Iustin Pop
  fi
400 e5bd9de5 Iustin Pop
fi
401 e5bd9de5 Iustin Pop
AC_SUBST(HTOOLS)
402 e5bd9de5 Iustin Pop
403 e5bd9de5 Iustin Pop
# Check for HsColour
404 e5bd9de5 Iustin Pop
HTOOLS_APIDOC=no
405 e5bd9de5 Iustin Pop
AC_ARG_VAR(HSCOLOUR, [HsColour path])
406 e5bd9de5 Iustin Pop
AC_PATH_PROG(HSCOLOUR, [HsColour], [])
407 e5bd9de5 Iustin Pop
if test -z "$HSCOLOUR"; then
408 30841576 Michael Hanselmann
  AC_MSG_WARN(m4_normalize([HsColour not found, htools API documentation will
409 30841576 Michael Hanselmann
                            not be generated]))
410 e5bd9de5 Iustin Pop
fi
411 e5bd9de5 Iustin Pop
412 e5bd9de5 Iustin Pop
# Check for haddock
413 e5bd9de5 Iustin Pop
AC_ARG_VAR(HADDOCK, [haddock path])
414 e5bd9de5 Iustin Pop
AC_PATH_PROG(HADDOCK, [haddock], [])
415 e5bd9de5 Iustin Pop
if test -z "$HADDOCK"; then
416 30841576 Michael Hanselmann
  AC_MSG_WARN(m4_normalize([haddock not found, htools API documentation will
417 30841576 Michael Hanselmann
                            not be generated]))
418 e5bd9de5 Iustin Pop
fi
419 e5bd9de5 Iustin Pop
if test "$HADDOCK" && test "$HSCOLOUR"; then
420 e5bd9de5 Iustin Pop
  HTOOLS_APIDOC=yes
421 e5bd9de5 Iustin Pop
fi
422 e5bd9de5 Iustin Pop
AC_SUBST(HTOOLS_APIDOC)
423 e5bd9de5 Iustin Pop
424 e5bd9de5 Iustin Pop
fi # end if enable_htools, define automake conditions
425 e5bd9de5 Iustin Pop
426 e5bd9de5 Iustin Pop
AM_CONDITIONAL([WANT_HTOOLS], [test x$HTOOLS = xyes])
427 e5bd9de5 Iustin Pop
AM_CONDITIONAL([WANT_HTOOLSAPIDOC], [test x$HTOOLS_APIDOC = xyes])
428 e5bd9de5 Iustin Pop
429 fe5b0c42 Michael Hanselmann
SOCAT_USE_ESCAPE=
430 fe5b0c42 Michael Hanselmann
AC_ARG_ENABLE([socat-escape],
431 fe5b0c42 Michael Hanselmann
  [AS_HELP_STRING([--enable-socat-escape],
432 fe5b0c42 Michael Hanselmann
    [use escape functionality available in socat >= 1.7 (default: detect
433 fe5b0c42 Michael Hanselmann
     automatically)])],
434 fe5b0c42 Michael Hanselmann
  [[if test "$enableval" = yes; then
435 fe5b0c42 Michael Hanselmann
      SOCAT_USE_ESCAPE=True
436 fe5b0c42 Michael Hanselmann
    else
437 fe5b0c42 Michael Hanselmann
      SOCAT_USE_ESCAPE=False
438 fe5b0c42 Michael Hanselmann
    fi
439 fe5b0c42 Michael Hanselmann
  ]])
440 fe5b0c42 Michael Hanselmann
441 fe5b0c42 Michael Hanselmann
if test -z "$SOCAT_USE_ESCAPE"
442 87c1d0c7 Guido Trotter
then
443 fe5b0c42 Michael Hanselmann
  if $SOCAT -hh | grep -w -q escape; then
444 fe5b0c42 Michael Hanselmann
    SOCAT_USE_ESCAPE=True
445 fe5b0c42 Michael Hanselmann
  else
446 fe5b0c42 Michael Hanselmann
    SOCAT_USE_ESCAPE=False
447 fe5b0c42 Michael Hanselmann
  fi
448 87c1d0c7 Guido Trotter
fi
449 87c1d0c7 Guido Trotter
450 fe5b0c42 Michael Hanselmann
AC_SUBST(SOCAT_USE_ESCAPE)
451 fe5b0c42 Michael Hanselmann
452 e90739d6 Michael Hanselmann
SOCAT_USE_COMPRESS=
453 e90739d6 Michael Hanselmann
AC_ARG_ENABLE([socat-compress],
454 e90739d6 Michael Hanselmann
  [AS_HELP_STRING([--enable-socat-compress],
455 e90739d6 Michael Hanselmann
    [use OpenSSL compression option available in patched socat builds
456 e90739d6 Michael Hanselmann
     (see INSTALL for details; default: detect automatically)])],
457 e90739d6 Michael Hanselmann
  [[if test "$enableval" = yes; then
458 e90739d6 Michael Hanselmann
      SOCAT_USE_COMPRESS=True
459 e90739d6 Michael Hanselmann
    else
460 e90739d6 Michael Hanselmann
      SOCAT_USE_COMPRESS=False
461 e90739d6 Michael Hanselmann
    fi
462 e90739d6 Michael Hanselmann
  ]])
463 e90739d6 Michael Hanselmann
464 e90739d6 Michael Hanselmann
if test -z "$SOCAT_USE_COMPRESS"
465 e90739d6 Michael Hanselmann
then
466 e90739d6 Michael Hanselmann
  if $SOCAT -hhh | grep -w -q openssl-compress; then
467 e90739d6 Michael Hanselmann
    SOCAT_USE_COMPRESS=True
468 e90739d6 Michael Hanselmann
  else
469 e90739d6 Michael Hanselmann
    SOCAT_USE_COMPRESS=False
470 e90739d6 Michael Hanselmann
  fi
471 e90739d6 Michael Hanselmann
fi
472 e90739d6 Michael Hanselmann
473 e90739d6 Michael Hanselmann
AC_SUBST(SOCAT_USE_COMPRESS)
474 e90739d6 Michael Hanselmann
475 5f55173b Iustin Pop
if man --help | grep -q -e --warnings
476 5f55173b Iustin Pop
then
477 5f55173b Iustin Pop
  MAN_HAS_WARNINGS=1
478 5f55173b Iustin Pop
else
479 5f55173b Iustin Pop
  MAN_HAS_WARNINGS=
480 30841576 Michael Hanselmann
  AC_MSG_WARN(m4_normalize([man does not support --warnings, man page checks
481 30841576 Michael Hanselmann
                            will not be possible]))
482 5f55173b Iustin Pop
fi
483 5f55173b Iustin Pop
484 5f55173b Iustin Pop
AC_SUBST(MAN_HAS_WARNINGS)
485 5f55173b Iustin Pop
486 a5d17f9f Michael Hanselmann
# Check for Python
487 a8083063 Iustin Pop
AM_PATH_PYTHON(2.4)
488 a8083063 Iustin Pop
489 6e06b36c Iustin Pop
AC_PYTHON_MODULE(OpenSSL, t)
490 6e06b36c Iustin Pop
AC_PYTHON_MODULE(simplejson, t)
491 6e06b36c Iustin Pop
AC_PYTHON_MODULE(pyparsing, t)
492 0f18ee6d Guido Trotter
AC_PYTHON_MODULE(pyinotify, t)
493 28af40c8 Guido Trotter
AC_PYTHON_MODULE(pycurl, t)
494 6e06b36c Iustin Pop
495 a40b1fc4 René Nussbaumer
# This is optional but then we've limited functionality
496 a40b1fc4 René Nussbaumer
AC_PYTHON_MODULE(paramiko)
497 a40b1fc4 René Nussbaumer
if test "$HAVE_PYMOD_PARAMIKO" = "no"; then
498 30841576 Michael Hanselmann
  AC_MSG_WARN(m4_normalize([You do not have Paramiko installed. While this is
499 30841576 Michael Hanselmann
                            optional you have to configure SSH and the node
500 30841576 Michael Hanselmann
                            daemon on the joining nodes yourself.]))
501 a40b1fc4 René Nussbaumer
fi
502 a40b1fc4 René Nussbaumer
503 e8230860 Michael Hanselmann
AC_CONFIG_FILES([ Makefile ])
504 3571f686 Iustin Pop
505 a8083063 Iustin Pop
AC_OUTPUT