packagekit/configure.ac

322 lines
9.8 KiB
Plaintext
Raw Normal View History

2007-07-31 09:53:31 -07:00
AC_PREREQ(2.52)
AC_INIT(PackageKit, 0.0.1)
AC_CONFIG_SRCDIR(src)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
AM_CONFIG_HEADER(config.h)
# libtool versioning - this applies to libpackagekit
#
# See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details
#
LT_CURRENT=1
LT_REVISION=0
LT_AGE=0
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
2007-07-31 09:53:31 -07:00
AC_PROG_CC
AC_PROG_INSTALL
2007-08-22 15:26:59 -07:00
AM_PROG_CC_C_O
2007-07-31 09:53:31 -07:00
AM_PROG_LIBTOOL
2007-08-14 04:45:24 -07:00
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
2007-07-31 09:53:31 -07:00
dnl ---------------------------------------------------------------------------
dnl - Extra verbose warning switches
dnl ---------------------------------------------------------------------------
if test "$GCC" = "yes"; then
CPPFLAGS="$CPPFLAGS -Werror -Wcast-align -Wno-uninitialized"
CPPFLAGS="$CPPFLAGS -Wall"
fi
2007-08-14 04:45:24 -07:00
dnl ---------------------------------------------------------------------------
dnl - gettext stuff
dnl ---------------------------------------------------------------------------
GETTEXT_PACKAGE=PackageKit
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of default gettext domain])
AM_GLIB_GNU_GETTEXT
2007-07-31 09:53:31 -07:00
dnl ---------------------------------------------------------------------------
dnl - Library dependencies
dnl ---------------------------------------------------------------------------
GLIB_REQUIRED=2.14.0
DBUS_REQUIRED=1.1.2
DBUS_GLIB_REQUIRED=0.74
LIBNM_REQUIRED=0.6.4
2007-08-21 04:54:04 -07:00
POLKIT_DBUS_REQUIRED=0.5
POLKIT_GRANT_REQUIRED=0.5
2007-07-31 09:53:31 -07:00
dnl ---------------------------------------------------------------------------
dnl - Make above strings available for packaging files (e.g. rpm spec files)
dnl ---------------------------------------------------------------------------
AC_SUBST(GLIB_REQUIRED)
2007-08-14 04:45:24 -07:00
AC_SUBST(DBUS_REQUIRED)
AC_SUBST(DBUS_GLIB_REQUIRED)
2007-07-31 09:53:31 -07:00
dnl ---------------------------------------------------------------------------
dnl - Check library dependencies
dnl ---------------------------------------------------------------------------
PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED gobject-2.0)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
PKG_CHECK_MODULES(DBUS, \
dbus-glib-1 >= $DBUS_GLIB_REQUIRED \
2007-07-31 09:53:31 -07:00
dbus-1 >= $DBUS_REQUIRED \
gthread-2.0)
AC_SUBST(DBUS_CFLAGS)
AC_SUBST(DBUS_LIBS)
2007-08-20 10:19:09 -07:00
PKG_CHECK_MODULES(LIBNM, \
libnm_glib >= $LIBNM_REQUIRED)
AC_SUBST(LIBNM_CFLAGS)
AC_SUBST(LIBNM_LIBS)
2007-08-21 04:54:04 -07:00
PKG_CHECK_MODULES(POLKIT, \
polkit-dbus >= $POLKIT_DBUS_REQUIRED \
polkit-grant >= $POLKIT_GRANT_REQUIRED)
2007-08-21 04:54:04 -07:00
AC_CHECK_PROG([POLKIT_POLICY_FILE_VALIDATE],
[polkit-policy-file-validate], [polkit-policy-file-validate])
if test -z "$POLKIT_POLICY_FILE_VALIDATE"; then
AC_MSG_ERROR([polkit-policy-file-validate not found])
fi
2007-08-23 09:11:59 -07:00
dnl ---------------------------------------------------------------------------
dnl - Is docbook2man available?
dnl ---------------------------------------------------------------------------
AC_PATH_PROG(DOCBOOK2MAN, docbook2man, no)
if test "$DOCBOOK2MAN" = "no" ; then
AC_MSG_WARN([docbook2man not found, will not be able to build man documentation])
fi
AM_CONDITIONAL(HAVE_DOCBOOK2MAN, [test "$DOCBOOK2MAN" != "no"])
2007-07-31 09:53:31 -07:00
dnl ---------------------------------------------------------------------------
dnl - Make paths available for source files
dnl ---------------------------------------------------------------------------
AC_SUBST(SYSCONFDIR, $sysconfdir)
AC_SUBST(DATADIR, $datadir)
AC_SUBST(BINDIR, $bindir)
AC_SUBST(SBINDIR, $sbindir)
2007-07-31 11:07:22 -07:00
AC_ARG_WITH([packagekit_user],
AS_HELP_STRING([--with-packagekit-user=<user>],
[User for running the PacakgeKit daemon (root)]))
if test -z "$with_packagekit_user" ; then
PACKAGEKIT_USER=root
else
PACKAGEKIT_USER=$with_packagekit_user
fi
AC_SUBST(PACKAGEKIT_USER)
AC_DEFINE_UNQUOTED(PACKAGEKIT_USER,"$PACKAGEKIT_USER", [User for running the PacakgeKit daemon])
2007-07-31 09:53:31 -07:00
dnl ---------------------------------------------------------------------------
dnl - Build self tests
dnl ---------------------------------------------------------------------------
AC_ARG_ENABLE(tests, [ --enable-tests Build self tests],enable_tests=$enableval,enable_tests=no)
AC_MSG_CHECKING([whether to support tests])
have_tests=no
if test x$enable_tests = xyes ; then
have_tests=yes
AC_DEFINE(HAVE_TESTS, 1, [Define if we want to use the self tests])
fi
AM_CONDITIONAL([HAVE_TESTS], [test $have_tests = yes])
dnl ---------------------------------------------------------------------------
dnl - Are we specifying a different dbus root ?
dnl ---------------------------------------------------------------------------
AC_ARG_WITH(dbus-sys,
[AC_HELP_STRING([--with-dbus-sys=<dir>],
[where D-BUS system.d directory is])])
AC_ARG_WITH(dbus-services,
[AC_HELP_STRING([--with-dbus-services=<dir>],
[where D-BUS system-services directory is])])
if ! test -z "$with_dbus_sys" ; then
DBUS_SYS_DIR="$with_dbus_sys"
else
DBUS_SYS_DIR="$SYSCONFDIR/dbus-1/system.d"
fi
if ! test -z "$with_dbus_services" ; then
DBUS_SERVICES_DIR="$with_dbus_services"
else
DBUS_SERVICES_DIR="$DATADIR/dbus-1/system-services"
fi
AC_SUBST(DBUS_SYS_DIR)
AC_SUBST(DBUS_SERVICES_DIR)
2007-08-01 09:19:45 -07:00
dnl ---------------------------------------------------------------------------
dnl - Compile time choice of backend
dnl ---------------------------------------------------------------------------
AC_ARG_WITH([backend],
AS_HELP_STRING([--with-backend=<option>],
2007-08-23 09:36:26 -07:00
[Backend to use dummy,apt,yum,conary (dummy)]))
# default to a sane option for the installed tool
2007-08-01 09:19:45 -07:00
if test x$with_backend = x; then
if test -f /usr/bin/yum ; then
with_backend=yum
elif test -f /usr/bin/apt-get ; then
with_backend=apt
2007-08-23 09:36:26 -07:00
elif test -f /usr/bin/conary ; then
with_backend=conary
else
with_backend=dummy
fi
2007-08-01 09:19:45 -07:00
fi
# we need this for the spawn code
if test x$with_backend = xyum; then
AC_DEFINE(BACKEND_PREFIX, "yum", [backend prefix])
elif test x$with_backend = xconary; then
AC_DEFINE(BACKEND_PREFIX, "conary", [backend prefix])
2007-08-24 09:50:00 -07:00
else
AC_DEFINE(BACKEND_PREFIX, "dummy", [backend prefix])
fi
AC_DEFUN([APT_BACKEND],
[
if test "$APT_PKG_TYPE" == "" ; then
AC_LANG_PUSH(C++)
_libaptpkg_save_cppflags=$CPPFLAGS
CPPFLAGS="$APT_CFLAGS $CPPFLAGS"
_APT_save_libs=$LIBS
LIBS="$APT_LIBS $LIBS"
AC_MSG_CHECKING([for apt support for $1 packages])
AC_RUN_IFELSE(AC_LANG_PROGRAM([
#include <apt-pkg/configuration.h>
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/init.h>
#include <stdio.h>
],[
if (pkgInitConfig(*_config) == false)
{
fprintf(stderr,"pkginitconfig was false");
return -1;
}
if (pkgInitSystem(*_config, _system) == false)
{
fprintf(stderr,"pkginitsystem was false");
return -1;
}
if (_system->ArchiveSupported("$1"))
return 0;
else
return 1;
]),[
APT_PKG_TYPE=$1
AC_MSG_RESULT([yes])
AC_DEFINE(APT_PKG_$2,1,[apt-pkg support files of type $1])
],)
AC_LANG_POP(C++)
CPPFLAGS=$_libaptpkg_save_cppflags
LIBS=$_libaptpkg_save_libs
unset _libaptpkg_save_cppflags
unset _libaptpkg_save_libs
fi
])
if test x$with_backend = xapt; then
AC_ARG_WITH(libapt-pkg-lib,
AC_HELP_STRING([--with-libapt-pkg-lib=DIR],[look for the libapt-pkg library in DIR]),
[_libaptpkg_with_lib=$withval],[_libaptpkg_with_lib=no])
if test "$_libaptpkg_with_lib" == "no" ; then
APT_LIBS="-lapt-pkg"
else
APT_LIBS="-L$withval -lapt-pkg"
fi
AC_ARG_WITH(libapt-pkg-includes,
AC_HELP_STRING([--with-libapt-pkg-includes=DIR],[look for the libapt-pkg includes in DIR]),
[_libaptpkg_with_inc=$withval],[_libaptpkg_with_inc=no])
if test "$_libaptpkg_with_inc" == "no" ; then
APT_CFLAGS="-I/usr/include/apt-pkg"
else
APT_CFLAGS="-I$withval"
fi
AC_CACHE_CHECK([whether libapt-pkg is usable],
[libaptpkg_usable],
[
_libaptpkg_save_cppflags=$CPPFLAGS
CPPFLAGS="$APT_CFLAGS $CPPFLAGS"
_APT_save_libs=$LIBS
LIBS="$APT_LIBS $LIBS"
AC_LANG_PUSH(C++)
AC_LINK_IFELSE(AC_LANG_PROGRAM([
#include <apt-pkg/configuration.h>
#include <apt-pkg/pkgsystem.h>
#include <apt-pkg/init.h>
#include <stdio.h>
],[
if (pkgInitConfig(*_config) == false)
{
fprintf(stderr,"pkginitconfig was false");
return -1;
}
if (pkgInitSystem(*_config, _system) == false)
{
fprintf(stderr,"pkginitsystem was false");
return -1;
}
return 0;
]),libaptpkg_usable=yes,AC_MSG_ERROR([libapt-pkg not found]))
CPPFLAGS=$_libaptpkg_save_cppflags
LIBS=$_libaptpkg_save_libs
unset _libaptpkg_save_cppflags
unset _libaptpkg_save_libs
])
AC_LANG_POP(C++)
APT_BACKEND(deb,DEB)
APT_BACKEND(rpm,RPM)
if test "$APT_PKG_TYPE" == "" ; then
AC_MSG_ERROR([Couldn't find support for any type of packages that we know about for Apt!])
fi
AC_SUBST(APT_CFLAGS)
AC_SUBST(APT_LIBS)
AC_SUBST(APT_PKG_TYPE)
fi
AM_CONDITIONAL(BACKEND_TYPE_DUMMY, [test x$with_backend = xdummy], [using dummy backend])
AM_CONDITIONAL(BACKEND_TYPE_APT, [test x$with_backend = xapt], [using APT backend])
AM_CONDITIONAL(BACKEND_TYPE_YUM, [test x$with_backend = xyum], [using YUM backend])
2007-08-23 09:36:26 -07:00
AM_CONDITIONAL(BACKEND_TYPE_CONARY, [test x$with_backend = xconary], [using CONARY backend])
2007-08-01 09:19:45 -07:00
2007-07-31 09:53:31 -07:00
dnl ---------------------------------------------------------------------------
dnl - Makefiles, etc.
dnl ---------------------------------------------------------------------------
AC_OUTPUT([
packagekit.pc
2007-07-31 09:53:31 -07:00
Makefile
2007-08-23 09:11:59 -07:00
man/Makefile
libgbus/Makefile
libpackagekit/Makefile
2007-08-21 04:54:04 -07:00
policy/Makefile
2007-07-31 09:53:31 -07:00
src/Makefile
2007-08-03 04:29:18 -07:00
client/Makefile
helpers/Makefile
2007-07-31 11:07:22 -07:00
PackageKit.conf
2007-07-31 09:53:31 -07:00
])
dnl ==========================================================================
echo "
PackageKit $VERSION
====================
prefix: ${prefix}
datadir: ${datadir}
compiler: ${CC}
cflags: ${CFLAGS}
2007-08-01 09:19:45 -07:00
Backend: ${with_backend}
2007-07-31 09:53:31 -07:00
"