X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=configure.ac;h=1aebdbbffbffdb3ab622e5767d8023e2a84a344a;hp=20f0c7aa2f09c3b91374889c532f1c8d50642554;hb=dc8e4b057ecd3984d7c27c8e;hpb=194bacbe2a6203a83e8d73156e7120de086a705c diff --git a/configure.ac b/configure.ac index 20f0c7a..1aebdbb 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # libguestfs -# Copyright (C) 2009-2010 Red Hat Inc. +# Copyright (C) 2009-2011 Red Hat Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,8 +17,8 @@ # major/minor/release must be numbers m4_define([libguestfs_major], [1]) -m4_define([libguestfs_minor], [7]) -m4_define([libguestfs_release], [19]) +m4_define([libguestfs_minor], [9]) +m4_define([libguestfs_release], [11]) # extra can be any string m4_define([libguestfs_extra], []) @@ -53,16 +53,6 @@ please see the section "LIBGUESTFS VERSION NUMBERS" in guestfs(3). ***]) ]) -dnl Die if the user tries to configure as root, see: -dnl https://www.redhat.com/archives/libguestfs/2010-April/msg00098.html -AC_MSG_CHECKING([if you are trying to configure as root]) -AS_IF([test "`id -u`" = 0 ],[ - AC_MSG_RESULT([yes]) - AC_MSG_FAILURE([Don't run './configure' or 'make' as root.]) - ],[ - AC_MSG_RESULT([no]) - ]) - dnl Early gnulib initialization. gl_EARLY gl_INIT @@ -115,6 +105,8 @@ if test "$gl_gcc_warnings" = yes; then nw="$nw -Wpacked" # Allow attribute((packed)) on structs nw="$nw -Wlong-long" # Allow long long since it's required # by Python, Ruby and xstrtoll. + nw="$nw -Wstack-protector" # Don't warn about stack-protector + # failures (seen on Ubuntu). gl_MANYWARN_ALL_GCC([ws]) gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw]) @@ -166,7 +158,7 @@ dnl Headers. AC_CHECK_HEADERS([errno.h sys/types.h sys/un.h sys/wait.h sys/socket.h endian.h byteswap.h]) dnl Functions. -AC_CHECK_FUNCS([posix_fallocate]) +AC_CHECK_FUNCS([futimens posix_fallocate]) dnl Build the daemon? AC_MSG_CHECKING([if we should build the daemon]) @@ -198,29 +190,32 @@ if test "x$enable_appliance" = "xyes"; then $FEBOOTSTRAP --version >/dev/null 2>&1 || AC_MSG_ERROR([febootstrap >= 3.0 must be installed, your version is too old]) - dnl Build from local package files, used when building with no network - dnl access, ie. under Koji. - AC_MSG_CHECKING([if we should build the appliance from local packages]) - AC_ARG_WITH([local-package-directory], - [AS_HELP_STRING([--with-local-package-directory], - [build from local packages in dir @<:@default=no@:>@])], - [local_package_directory=$withval], - [local_package_directory=no]) - AC_MSG_RESULT([$local_package_directory]) - PACKAGE_DIRECTORY= - test "x$local_package_directory" != "xno" && - PACKAGE_DIRECTORY="$local_package_directory" - AC_SUBST([PACKAGE_DIRECTORY]) + dnl Pass a febootstrap --yum-config option. + AC_MSG_CHECKING([if user requested febootstrap --yum-config option]) + AC_ARG_WITH([febootstrap-yum-config], + [AS_HELP_STRING([--with-febootstrap-yum-config=FILE], + [pass febootstrap --yum-config option @<:@default=no@:>@])], + [FEBOOTSTRAP_YUM_CONFIG="$withval"], + [FEBOOTSTRAP_YUM_CONFIG=no]) + AC_MSG_RESULT([$FEBOOTSTRAP_YUM_CONFIG]) + AC_SUBST([FEBOOTSTRAP_YUM_CONFIG]) dnl Which distro? dnl dnl This used to be Very Important but is now just used to select dnl which packages to install in the appliance, since the package - dnl names vary slightly across distros. (See appliance/packagelist.in) + dnl names vary slightly across distros. (See + dnl appliance/packagelist.in and appliance/excludelist.in) AC_MSG_CHECKING([which Linux distro for package names]) DISTRO=REDHAT if test -f /etc/debian_version; then DISTRO=DEBIAN + if grep -q 'DISTRIB_ID=Ubuntu' /etc/lsb-release 2>/dev/null; then + DISTRO=UBUNTU + fi + fi + if test -f /etc/arch-release; then + DISTRO=ARCHLINUX fi AC_MSG_RESULT([$DISTRO]) AC_SUBST([DISTRO]) @@ -254,6 +249,27 @@ AC_CHECK_PROG([POD2HTML],[pod2html],[pod2html],[no]) test "x$POD2HTML" = "xno" && AC_MSG_ERROR([pod2html must be installed]) +dnl Check if pod2man, pod2text take --stderr and -u options (not in RHEL 5). +AC_MSG_CHECKING([if pod2man takes --stderr option]) +if "$POD2MAN" --stderr >/dev/null 2>&1; then + AC_MSG_RESULT([yes]) + POD2_STDERR_OPTION="--stderr" +else + AC_MSG_RESULT([no]) + POD2_STDERR_OPTION="" +fi +AC_SUBST([POD2_STDERR_OPTION]) + +AC_MSG_CHECKING([if pod2man takes -u option]) +if "$POD2MAN" -u >/dev/null 2>&1; then + AC_MSG_RESULT([yes]) + POD2_UTF8_OPTION="-u" +else + AC_MSG_RESULT([no]) + POD2_UTF8_OPTION="" +fi +AC_SUBST([POD2_UTF8_OPTION]) + dnl Check for mkisofs. AC_PATH_PROGS([MKISOFS],[mkisofs],[no], [$PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin]) @@ -268,8 +284,10 @@ AC_CHECK_PROG([PO4A],[po4a],[po4a],[no]) AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"]) dnl Check for db_dump, db_load (optional). -AC_CHECK_PROGS([DB_DUMP],[db_dump db4_dump db4.8_dump],[no]) -AC_CHECK_PROGS([DB_LOAD],[db_load db4_load db4.8_load],[no]) +AC_CHECK_PROGS([DB_DUMP], + [db_dump db4_dump db4.8_dump db4.7_dump db4.6_dump],[no]) +AC_CHECK_PROGS([DB_LOAD], + [db_load db4_load db4.8_load db4.7_load db4.6_load],[no]) if test "x$DB_DUMP" != "xno"; then AC_DEFINE_UNQUOTED([DB_DUMP],["$DB_DUMP"],[Name of db_dump program.]) fi @@ -295,7 +313,6 @@ if test "x$vmchannel_test" != "xno"; then AC_MSG_CHECKING([for virtio-serial support in $QEMU]) if $QEMU -nographic -device \? 2>&1 | grep -sq virtio-serial; then AC_MSG_RESULT([yes]) - vmchannel_guestfwd=guestfwd else AC_MSG_RESULT([no]) AC_MSG_FAILURE( @@ -378,7 +395,6 @@ AS_IF([test "x$with_readline" != xno], dnl For i18n. AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([0.17]) dnl libmagic (highly recommended) AC_CHECK_LIB([magic],[magic_file], @@ -488,7 +504,7 @@ dnl Check for Python (optional, for Python bindings). PYTHON_PREFIX= PYTHON_VERSION= PYTHON_INCLUDEDIR= -PYTHON_SITE_PACKAGES= +PYTHON_INSTALLDIR= AC_ARG_ENABLE([python], AS_HELP_STRING([--disable-python], [Disable Python language bindings]), @@ -499,8 +515,14 @@ AS_IF([test "x$enable_python" != "xno"], AC_CHECK_PROG([PYTHON],[python],[python],[no]) if test "x$PYTHON" != "xno"; then + AC_MSG_CHECKING([Python prefix]) PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"` + AC_MSG_RESULT([$PYTHON_PREFIX]) + + AC_MSG_CHECKING([Python version]) PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"` + AC_MSG_RESULT([$PYTHON_VERSION]) + for d in \ $PYTHON_PREFIX/include/python$PYTHON_VERSION \ /usr/include/python$PYTHON_VERSION \ @@ -518,23 +540,33 @@ AS_IF([test "x$enable_python" != "xno"], AC_MSG_WARN([Python include directory not found]) fi - for d in \ - $PYTHON_PREFIX/lib64/python$PYTHON_VERSION/site-packages \ - $PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages \ - /usr/lib64/python$PYTHON_VERSION/site-packages \ - /usr/lib/python$PYTHON_VERSION/site-packages \ - /usr/local/lib/python$PYTHON_VERSION/site-packages - do - AC_MSG_CHECKING([for $d]) - if test -d "$d"; then - AC_MSG_RESULT([found]) - PYTHON_SITE_PACKAGES=$d - break + AC_ARG_WITH([python-installdir], + [AS_HELP_STRING([--with-python-installdir], + [directory to install python modules @<:@default=check@:>@])], + [PYTHON_INSTALLDIR="$withval" + AC_MSG_NOTICE([Python install dir $PYTHON_INSTALLDIR])], + [PYTHON_INSTALLDIR=check]) + + if test "x$PYTHON_INSTALLDIR" = "xcheck"; then + PYTHON_INSTALLDIR= + for d in \ + $PYTHON_PREFIX/lib64/python$PYTHON_VERSION/site-packages \ + $PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages \ + /usr/lib64/python$PYTHON_VERSION/site-packages \ + /usr/lib/python$PYTHON_VERSION/site-packages \ + /usr/local/lib/python$PYTHON_VERSION/site-packages + do + AC_MSG_CHECKING([for $d]) + if test -d "$d"; then + AC_MSG_RESULT([found]) + PYTHON_INSTALLDIR=$d + break + fi + AC_MSG_RESULT([not found]) + done + if test "x$PYTHON_INSTALLDIR" = "x"; then + AC_MSG_WARN([Python site-packages directory not found]) fi - AC_MSG_RESULT([not found]) - done - if test "x$PYTHON_SITE_PACKAGES" = "x"; then - AC_MSG_WARN([Python site-packages directory not found]) fi old_LIBS="$LIBS" @@ -546,10 +578,10 @@ AS_IF([test "x$enable_python" != "xno"], AC_SUBST(PYTHON_PREFIX) AC_SUBST(PYTHON_VERSION) AC_SUBST(PYTHON_INCLUDEDIR) - AC_SUBST(PYTHON_SITE_PACKAGES) + AC_SUBST(PYTHON_INSTALLDIR) ]) AM_CONDITIONAL([HAVE_PYTHON], - [test "x$PYTHON_INCLUDEDIR" != "x" && test "x$PYTHON_SITE_PACKAGES" != "x"]) + [test "x$PYTHON" != "xno" && test "x$PYTHON_INCLUDEDIR" != "x" && test "x$PYTHON_INSTALLDIR" != "x"]) dnl Check for Ruby and rake (optional, for Ruby bindings). AC_ARG_ENABLE([ruby], @@ -781,7 +813,7 @@ AC_CONFIG_FILES([Makefile regressions/Makefile test-tool/Makefile ocaml/Makefile ocaml/examples/Makefile - perl/Makefile + perl/Makefile perl/examples/Makefile python/Makefile python/examples/Makefile ruby/Makefile ruby/Rakefile ruby/examples/Makefile java/Makefile @@ -799,6 +831,7 @@ AC_CONFIG_FILES([Makefile cat/Makefile df/Makefile rescue/Makefile + debian/changelog ocaml/META perl/Makefile.PL]) AC_OUTPUT