X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/a8083063386109da1f7d95cb441152cad79bc15f..36117c2bde4a9ec952b9533b30f8bc3978414a55:/configure.ac diff --git a/configure.ac b/configure.ac index eb82373..582427c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,25 +1,145 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. +# Configure script for Ganeti +m4_define([gnt_version_major], [2]) +m4_define([gnt_version_minor], [0]) +m4_define([gnt_version_revision], [0]) +m4_define([gnt_version_suffix], [~alpha0]) +m4_define([gnt_version_full], + m4_format([%d.%d.%d%s], + gnt_version_major, gnt_version_minor, + gnt_version_revision, gnt_version_suffix)) AC_PREREQ(2.59) -AC_INIT(ganeti, 1.2a, ganeti@googlegroups.com) -AM_INIT_AUTOMAKE(foreign) +AC_INIT(ganeti, gnt_version_full, ganeti@googlegroups.com) +AC_CONFIG_AUX_DIR(autotools) +AC_CONFIG_SRCDIR(configure) +AM_INIT_AUTOMAKE([1.9 foreign tar-ustar -Wall -Wno-portability]) -# Checks for programs. +AC_SUBST([VERSION_MAJOR], gnt_version_major) +AC_SUBST([VERSION_MINOR], gnt_version_minor) +AC_SUBST([VERSION_REVISION], gnt_version_revision) +AC_SUBST([VERSION_SUFFIX], gnt_version_suffix) +AC_SUBST([VERSION_FULL], gnt_version_full) + +# --with-ssh-initscript=... +AC_ARG_WITH([ssh-initscript], + [AS_HELP_STRING([--with-ssh-initscript=SCRIPT], + [SSH init script to use (default is /etc/init.d/ssh)] + )], + [ssh_initd_script="$withval"], + [ssh_initd_script="/etc/init.d/ssh"]) +AC_SUBST(SSH_INITD_SCRIPT, $ssh_initd_script) + +# --with-export-dir=... +AC_ARG_WITH([export-dir], + [AS_HELP_STRING([--with-export-dir=DIR], + [directory to use by default for instance image] + [ exports (default is /srv/ganeti/export)] + )], + [export_dir="$withval"], + [export_dir="/srv/ganeti/export"]) +AC_SUBST(EXPORT_DIR, $export_dir) + +# --with-os-search-path=... +# do a bit of black sed magic to for quoting of the strings in the list +AC_ARG_WITH([os-search-path], + [AS_HELP_STRING([--with-os-search-path=LIST], + [comma separated list of directories to] + [ search for OS images (default is /srv/ganeti/os)] + )], + [os_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`], + [os_search_path="'/srv/ganeti/os'"]) +AC_SUBST(OS_SEARCH_PATH, $os_search_path) + +# --with-iallocator-search-path=... +# do a bit of black sed magic to for quoting of the strings in the list +AC_ARG_WITH([iallocator-search-path], + [AS_HELP_STRING([--with-iallocator-search-path=LIST], + [comma separated list of directories to] + [ search for instance allocators (default is $libdir/ganeti/iallocators)] + )], + [iallocator_search_path=`echo -n "$withval" | sed -e "s/\([[^,]]*\)/'\1'/g"`], + [iallocator_search_path="'$libdir/$PACKAGE_NAME/iallocators'"]) +AC_SUBST(IALLOCATOR_SEARCH_PATH, $iallocator_search_path) + +# --with-xen-kernel=... +AC_ARG_WITH([xen-kernel], + [AS_HELP_STRING([--with-xen-kernel=PATH], + [DomU kernel image for Xen hypervisor (default is /boot/vmlinuz-2.6-xenU)] + )], + [xen_kernel="$withval"], + [xen_kernel="/boot/vmlinuz-2.6-xenU"]) +AC_SUBST(XEN_KERNEL, $xen_kernel) + +# --with-xen-initrd=... +AC_ARG_WITH([xen-initrd], + [AS_HELP_STRING([--with-xen-initrd=PATH], + [DomU initrd image for Xen hypervisor (default is /boot/initrd-2.6-xenU)] + )], + [xen_initrd="$withval"], + [xen_initrd="/boot/initrd-2.6-xenU"]) +AC_SUBST(XEN_INITRD, $xen_initrd) + +# --with-file-storage-dir=... +AC_ARG_WITH([file-storage-dir], + [AS_HELP_STRING([--with-file-storage-dir=PATH], + [directory to store files for file-based backend] + [ (default is /srv/ganeti/file-storage)] + )], + [file_storage_dir="$withval"], + [file_storage_dir="/srv/ganeti/file-storage"]) +AC_SUBST(FILE_STORAGE_DIR, $file_storage_dir) + +# --with-kvm-path=... +AC_ARG_WITH([kvm-path], + [AS_HELP_STRING([--with-kvm-path=PATH], + [absolute path to the kvm binary] + [ (default is /usr/bin/kvm)] + )], + [kvm_path="$withval"], + [kvm_path="/usr/bin/kvm"]) +AC_SUBST(KVM_PATH, $kvm_path) + +# Check common programs AC_PROG_INSTALL +AC_PROG_LN_S -# Checks for python -AM_PATH_PYTHON(2.4) +# Check for docbook programs +AC_ARG_VAR(DOCBOOK2MAN, [docbook2man path]) +AC_PATH_PROG(DOCBOOK2MAN, [docbook2man], []) +if test -z "$DOCBOOK2MAN" +then + AC_MSG_ERROR([docbook2man not found]) +fi -# Checks for libraries. +AC_ARG_VAR(DOCBOOK2PDF, [docbook2pdf path]) +AC_PATH_PROG(DOCBOOK2PDF, [docbook2pdf], []) +if test -z "$DOCBOOK2PDF" +then + AC_MSG_ERROR([docbook2pdf not found]) +fi -# Checks for header files. +AC_ARG_VAR(DOCBOOK2HTML, [docbook2html path]) +AC_PATH_PROG(DOCBOOK2HTML, [docbook2html], []) +if test -z "$DOCBOOK2HTML" +then + AC_MSG_ERROR([docbook2html not found]) +fi + +# Check for rst programs +AC_ARG_VAR(RST2HTML, [rst2html path]) +AC_PATH_PROG(RST2HTML, [rst2html], []) +if test -z "$RST2HTML" +then + AC_MSG_ERROR([rst2html not found]) +fi + +# Check for Python +AM_PATH_PYTHON(2.4) -# Checks for typedefs, structures, and compiler characteristics. +AC_PYTHON_MODULE(OpenSSL, t) +AC_PYTHON_MODULE(simplejson, t) +AC_PYTHON_MODULE(pyparsing, t) -# Checks for library functions. +AC_CONFIG_FILES([ Makefile ]) -AC_CONFIG_FILES([Makefile man/Makefile docs/Makefile - testing/Makefile tools/Makefile - lib/Makefile scripts/Makefile daemons/Makefile]) AC_OUTPUT