2005-11-02 12:50:21 +00:00
dnl Process this file with autoconf to produce a configure script.
2006-02-09 17:45:11 +00:00
AC_INIT(src/libvirt.c)
2005-11-02 12:50:21 +00:00
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
2006-02-15 13:21:17 +00:00
LIBVIRT_MAJOR_VERSION=0
2006-04-10 14:15:33 +00:00
LIBVIRT_MINOR_VERSION=1
2007-01-22 15:31:00 +00:00
LIBVIRT_MICRO_VERSION=11
2006-02-15 13:21:17 +00:00
LIBVIRT_MICRO_VERSION_SUFFIX=
LIBVIRT_VERSION=$LIBVIRT_MAJOR_VERSION.$LIBVIRT_MINOR_VERSION.$LIBVIRT_MICRO_VERSION$LIBVIRT_MICRO_VERSION_SUFFIX
LIBVIRT_VERSION_INFO=`expr $LIBVIRT_MAJOR_VERSION + $LIBVIRT_MINOR_VERSION`:$LIBVIRT_MICRO_VERSION:$LIBVIRT_MINOR_VERSION
2005-11-02 12:50:21 +00:00
2006-02-15 13:21:17 +00:00
LIBVIRT_VERSION_NUMBER=`expr $LIBVIRT_MAJOR_VERSION \* 1000000 + $LIBVIRT_MINOR_VERSION \* 1000 + $LIBVIRT_MICRO_VERSION`
2005-11-02 12:50:21 +00:00
if test -f CVS/Entries; then
2005-12-08 15:08:46 +00:00
extra=`grep ChangeLog CVS/Entries | grep -v LIBVIR | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
2005-11-02 12:50:21 +00:00
echo extra=$extra
if test "$extra" != ""
then
2006-02-15 13:21:17 +00:00
LIBVIRT_VERSION_EXTRA="-CVS$extra"
2005-11-02 12:50:21 +00:00
fi
fi
2006-02-15 13:21:17 +00:00
AC_SUBST(LIBVIRT_MAJOR_VERSION)
AC_SUBST(LIBVIRT_MINOR_VERSION)
AC_SUBST(LIBVIRT_MICRO_VERSION)
AC_SUBST(LIBVIRT_VERSION)
AC_SUBST(LIBVIRT_VERSION_INFO)
AC_SUBST(LIBVIRT_VERSION_NUMBER)
AC_SUBST(LIBVIRT_VERSION_EXTRA)
2005-11-02 12:50:21 +00:00
2006-02-15 13:21:17 +00:00
VERSION=${LIBVIRT_VERSION}
2005-11-02 12:50:21 +00:00
2006-02-09 17:45:11 +00:00
AM_INIT_AUTOMAKE(libvirt, $VERSION)
2005-11-02 12:50:21 +00:00
2005-11-02 13:19:10 +00:00
dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_CPP
AC_PATH_PROG(RM, rm, /bin/rm)
AC_PATH_PROG(MV, mv, /bin/mv)
AC_PATH_PROG(TAR, tar, /bin/tar)
2005-12-07 09:33:00 +00:00
AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint)
AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
2005-11-02 13:19:10 +00:00
dnl Make sure we have an ANSI compiler
AM_C_PROTOTYPES
test "x$U" != "x" && AC_MSG_ERROR(Compiler not ANSI compliant)
AM_PROG_LIBTOOL
2005-12-07 13:45:20 +00:00
dnl Specific dir for HTML output ?
AC_ARG_WITH(html-dir, AC_HELP_STRING([--with-html-dir=path],
[path to base html directory, default $datadir/doc/html]),
[HTML_DIR=$withval], [HTML_DIR='$(datadir)/doc'])
AC_ARG_WITH(html-subdir, AC_HELP_STRING([--with-html-subdir=path],
[directory used under html-dir, default $PACKAGE-$VERSION/html]),
[test "x$withval" != "x" && HTML_DIR="$HTML_DIR/$withval"],
[HTML_DIR="$HTML_DIR/\$(PACKAGE)-\$(VERSION)/html"])
AC_SUBST(HTML_DIR)
2005-12-02 12:11:06 +00:00
dnl
dnl specific tests to setup DV devel environments with debug etc ...
dnl
2006-02-10 10:28:59 +00:00
if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/libvirt" ]] ; then
2005-12-02 12:11:06 +00:00
STATIC_BINARIES="-static"
else
STATIC_BINARIES=
fi
AC_SUBST(STATIC_BINARIES)
2005-12-08 13:26:52 +00:00
dnl
dnl make CFLAGS very pedantic at least during the devel phase for everybody
dnl
if test "${GCC}" = "yes" ; then
CFLAGS="-g -O -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
fi
2006-03-10 10:21:41 +00:00
dnl
dnl Specify the xen-distribution directory to be able to compile on a
dnl non-xenified host
dnl
AC_ARG_WITH(xen-distdir, AC_HELP_STRING([--with-xen-distdir=path],
[distribution directory of Xen, default /usr]))
if test "x$with_xen_distdir" != "x"
then
CPPFLAGS="$CPPFLAGS -I$withval/install/usr/include"
LDFLAGS="$LDFLAGS -L$withval/install/usr/lib"
fi
2005-12-09 10:16:33 +00:00
dnl
dnl To be able to make dist on a non-xenified host
dnl
AC_ARG_WITH(depends,
2006-05-09 15:35:46 +00:00
[ --with-depends check for dependancies (on)])
2005-12-09 10:16:33 +00:00
if test "$with_depends" != "no"
then
2005-12-08 15:08:46 +00:00
dnl search for the Xen store library
2005-11-23 07:47:13 +00:00
AC_SEARCH_LIBS(xs_read, [xenstore], [], [AC_MSG_ERROR([Xen store library not found])])
2005-11-02 13:19:10 +00:00
2006-02-16 22:50:52 +00:00
dnl ==========================================================================
dnl find libxml2 library, borrowed from xmlsec
dnl ==========================================================================
LIBXML_MIN_VERSION="2.5.0"
LIBXML_CONFIG="xml2-config"
LIBXML_CFLAGS=""
LIBXML_LIBS=""
LIBXML_FOUND="no"
AC_ARG_WITH(libxml, [ --with-libxml=[PFX] libxml2 location])
if test "z$with_libxml" = "zno" ; then
AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_MIN_VERSION)
AC_MSG_ERROR(libxml2 >= $LIBXML_MIN_VERSION is required for $XMLSEC_PACKAGE)
elif test "z$with_libxml" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then
PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_MIN_VERSION,
[LIBXML_FOUND=yes],
[LIBXML_FOUND=no])
fi
AC_MSG_CHECKING(libxml2 $with_libxml $LIBXML_FOUND )
if test "z$LIBXML_FOUND" = "zno" ; then
AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_MIN_VERSION)
if test "z$with_libxml" != "z" ; then
LIBXML_CONFIG=$with_libxml/bin/$LIBXML_CONFIG
fi
AC_MSG_CHECKING(libxml2 $with_libxml $LIBXML_CONFIG )
if ! $LIBXML_CONFIG --version > /dev/null 2>&1 ; then
AC_MSG_ERROR(Could not find libxml2 anywhere (see config.log for details).)
fi
vers=`$LIBXML_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
minvers=`echo $LIBXML_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test "$vers" -ge "$minvers" ; then
LIBXML_LIBS="`$LIBXML_CONFIG --libs`"
LIBXML_CFLAGS="`$LIBXML_CONFIG --cflags`"
LIBXML_FOUND="yes"
AC_MSG_RESULT(yes ('$LIBXML_VERSION'))
else
AC_MSG_ERROR(You need at least libxml2 $LIBXML_MIN_VERSION for this version of $XMLSEC_PACKAGE)
fi
fi
AC_SUBST(LIBXML_CFLAGS)
AC_SUBST(LIBXML_LIBS)
AC_SUBST(LIBXML_CONFIG)
AC_SUBST(LIBXML_MIN_VERSION)
2005-12-08 10:23:34 +00:00
dnl virsh libraries
AC_CHECK_LIB(curses, initscr,
2006-04-25 16:54:26 +00:00
[VIRSH_LIBS="$VIRSH_LIBS -lcurses"],
[AC_CHECK_LIB(ncurses, initscr,
[VIRSH_LIBS="$VIRSH_LIBS -lncurses"],
[AC_MSG_ERROR([curses/ncurses library not found])],
[$VIRSH_LIBS])],
2005-12-08 10:23:34 +00:00
[$VIRSH_LIBS])
AC_CHECK_LIB(readline, main,
[VIRSH_LIBS="$VIRSH_LIBS -lreadline"],
[AC_MSG_ERROR([readline library not found])],
[$VIRSH_LIBS])
AC_SUBST(VIRSH_LIBS)
2006-02-10 08:40:20 +00:00
# end of if with_depends
fi
2005-12-19 16:34:11 +00:00
dnl
dnl check for python
dnl
PYTHON_VERSION=
PYTHON_INCLUDES=
PYTHON_SITE_PACKAGES=
PYTHON_TESTS=
pythondir=
if test "$with_python" != "no" ; then
if test -x "$with_python/bin/python"
then
echo Found python in $with_python/bin/python
PYTHON="$with_python/bin/python"
else
if test -x "$with_python"
then
echo Found python in $with_python
PYTHON="$with_python"
else
if test -x "$PYTHON"
then
echo Found python in environment PYTHON=$PYTHON
2006-08-11 11:57:52 +00:00
with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
2005-12-19 16:34:11 +00:00
else
AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
fi
fi
fi
if test "$PYTHON" != ""
then
PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
echo Found Python version $PYTHON_VERSION
fi
if test "$PYTHON_VERSION" != ""
then
if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
-d $with_python/lib/python$PYTHON_VERSION/site-packages
then
PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
2006-08-11 11:57:52 +00:00
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
2005-12-19 16:34:11 +00:00
else
if test -r $prefix/include/python$PYTHON_VERSION/Python.h
then
2006-08-11 11:57:52 +00:00
PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
2005-12-19 16:34:11 +00:00
else
if test -r /usr/include/python$PYTHON_VERSION/Python.h
then
PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
2006-08-11 11:57:52 +00:00
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
2005-12-19 16:34:11 +00:00
else
echo could not find python$PYTHON_VERSION/Python.h
fi
fi
if test ! -d "$PYTHON_SITE_PACKAGES"
then
PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
fi
fi
fi
if test "$with_python" != ""
then
pythondir='$(PYTHON_SITE_PACKAGES)'
else
2006-08-11 11:57:52 +00:00
pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
2005-12-19 16:34:11 +00:00
fi
else
PYTHON=
fi
AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
if test "$PYTHON_INCLUDES" != ""
then
PYTHON_SUBDIR=python
else
PYTHON_SUBDIR=
fi
AC_SUBST(pythondir)
2006-08-11 11:57:52 +00:00
AC_SUBST(PYTHON_SUBDIR)
2005-12-19 16:34:11 +00:00
AC_SUBST(PYTHON_VERSION)
AC_SUBST(PYTHON_INCLUDES)
AC_SUBST(PYTHON_SITE_PACKAGES)
2006-09-21 15:24:37 +00:00
AM_GNU_GETTEXT_VERSION([0.14.1])
AM_GNU_GETTEXT([external])
2006-11-28 13:05:37 +00:00
if test -d po
then
ALL_LINGUAS=`(cd po > /dev/null && ls *.po) | sed 's+\.po$++'`
else
ALL_LINGUAS="af am ar as be bg bn_IN bn ca cs cy da de el en_GB es et eu_ES fa fi fr gl gu he hi hr hu hy id is it ja ka kn ko ku lo lt lv mk ml mr ms my nb nl nn no nso or pa pl pt_BR pt ro ru si sk sl sq sr@Latn sr sv ta te th tr uk ur vi zh_CN zh_TW zu"
fi
2006-09-21 15:24:37 +00:00
2005-12-09 10:37:37 +00:00
# very annoying
rm -f COPYING
2006-02-10 08:40:20 +00:00
cp COPYING.LIB COPYING
2005-12-09 10:37:37 +00:00
2005-12-08 15:08:46 +00:00
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
2006-02-22 10:54:54 +00:00
docs/examples/Makefile docs/devhelp/Makefile \
2006-04-25 16:08:48 +00:00
docs/examples/python/Makefile \
2006-06-26 15:02:18 +00:00
libvirt.pc libvirt.spec \
2006-09-21 15:24:37 +00:00
po/Makefile.in \
2006-06-26 15:02:18 +00:00
include/libvirt/Makefile include/libvirt/libvirt.h \
2006-05-09 15:35:46 +00:00
python/Makefile python/tests/Makefile \
2006-08-24 21:46:28 +00:00
tests/Makefile proxy/Makefile \
2006-09-12 01:16:22 +00:00
tests/xml2sexprdata/Makefile \
tests/sexpr2xmldata/Makefile \
2007-01-19 20:30:05 +00:00
tests/xmconfigdata/Makefile \
2006-08-29 22:27:07 +00:00
tests/virshdata/Makefile tests/confdata/Makefile)