AC_PREREQ(2.52) AC_INIT(NetworkManager, 0.6.5.98, dcbw@redhat.com, NetworkManager) AM_INIT_AUTOMAKE([subdir-objects]) AM_MAINTAINER_MODE AM_CONFIG_HEADER(config.h) dnl dnl Require programs dnl AC_PROG_CC AM_PROG_CC_C_O AC_PROG_INSTALL AC_PROG_LIBTOOL dnl dnl Required headers dnl AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h paths.h sys/ioctl.h sys/time.h syslog.h unistd.h) dnl dnl Checks for typedefs, structures, and compiler characteristics. dnl AC_TYPE_MODE_T AC_TYPE_PID_T AC_HEADER_TIME dnl dnl Checks for library functions. dnl AC_PROG_GCC_TRADITIONAL AC_FUNC_MEMCMP AC_CHECK_FUNCS(select socket uname) dnl dnl GNOME support dnl AC_ARG_WITH(gnome, AC_HELP_STRING([--without-gnome], [Build NetworkManager without GNOME support, e.g. daemon only])) AM_CONDITIONAL(WITH_GNOME, test x"$with_gnome" != xno) dnl dnl translation support dnl GETTEXT_PACKAGE=NetworkManager AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package]) ALL_LINGUAS="ar be@latin bg bs ca cs da de dz el en_CA en_GB es et fi fr gl gu hr hu it ja ka ko lt pl mk nb ne nl pa pt_BR rw sk sq sr@Latn sr sv uk vi wa zh_CN zh_TW" AC_PROG_INTLTOOL([0.27.2]) AM_GLIB_GNU_GETTEXT dnl dnl Make sha1.c happy on big endian systems dnl AC_C_BIGENDIAN AC_ARG_WITH(distro, AC_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, debian, arch or slackware])) if test "z$with_distro" = "z"; then AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat") AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse") AC_CHECK_FILE(/etc/fedora-release,with_distro="redhat") AC_CHECK_FILE(/etc/gentoo-release,with_distro="gentoo") AC_CHECK_FILE(/etc/debian_version,with_distro="debian") AC_CHECK_FILE(/etc/arch-release,with_distro="arch") AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware") fi with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' ` if test "z$with_distro" = "z"; then echo "Linux distribution autodetection failed, you must specify the distribution to target using --with-distro=DISTRO" exit 1 else case $with_distro in redhat|suse|gentoo|debian|slackware|arch) ;; *) echo "Your distribution (${with_distro}) is not yet supported! (patches welcome)" exit 1 ;; esac fi AM_CONDITIONAL(TARGET_REDHAT, test x"$with_distro" = xredhat) AM_CONDITIONAL(TARGET_SUSE, test x"$with_distro" = xsuse) AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo) AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian) AM_CONDITIONAL(TARGET_SLACKWARE, test x"$with_distro" = xslackware) AM_CONDITIONAL(TARGET_ARCH, test x"$with_distro" = xarch) AC_MSG_CHECKING([for wireless-tools >= 28pre9]) AC_TRY_COMPILE([#include ], [#ifndef IWEVGENIE #error "not found" #endif], [ac_have_iwevgenie=yes], [ac_have_iwevgenie=no]) AC_MSG_RESULT($ac_have_iwevgenie) if test "$ac_have_iwevgenie" = no; then AC_MSG_ERROR(wireless-tools >= 28pre9 not installed or not functional) fi IWLIB=-liw AC_SUBST(IWLIB) PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= 0.60) ##### Find out the version of DBUS we're using dbus_version=`pkg-config --modversion dbus-1` DBUS_VERSION_MAJOR=`echo $dbus_version | awk -F. '{print $1}'` DBUS_VERSION_MINOR=`echo $dbus_version | awk -F. '{print $2}'` DBUS_VERSION_MICRO=`echo $dbus_version | awk -F. '{print $3}'` if test "z$DBUS_VERSION_MAJOR" = "z"; then DBUS_VERSION_MAJOR="0" fi if test "z$DBUS_VERSION_MINOR" = "z"; then DBUS_VERSION_MINOR="0" fi if test "z$DBUS_VERSION_MICRO" = "z"; then DBUS_VERSION_MICRO="0" fi if test "z$DBUS_VERSION_MAJOR" = "z0" -a "z$DBUS_VERSION_MINOR" = "z0" -a "z$DBUS_VERSION_MICRO" = "z0"; then echo "Error: Couldn't determine the version of your DBUS package." echo " This is probably an error in this script, please report it" echo " along with the following information:" echo " Base DBUS version ='$dbus_version'" echo " DBUS_VERSION_MAJOR='$DBUS_VERSION_MAJOR'" echo " DBUS_VERSION_MINOR='$DBUS_VERSION_MINOR'" echo " DBUS_VERSION_MICRO='$DBUS_VERSION_MICRO'" exit 1 else echo "Your dbus version is $DBUS_VERSION_MAJOR,$DBUS_VERSION_MINOR,$DBUS_VERSION_MICRO." DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MAJOR=$DBUS_VERSION_MAJOR" DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MINOR=$DBUS_VERSION_MINOR" DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MICRO=$DBUS_VERSION_MICRO" fi PKG_CHECK_MODULES(GTHREAD, gthread-2.0) PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.6) PKG_CHECK_MODULES(GOBJECT, gobject-2.0 >= 2.6) PKG_CHECK_MODULES(GMODULE, gmodule-2.0) PKG_CHECK_MODULES(HAL, hal >= 0.5.0) if test x"$with_gnome" != xno; then PKG_CHECK_MODULES(GTK, gtk+-2.0) PKG_CHECK_MODULES(GLADE, libglade-2.0) PKG_CHECK_MODULES(GCONF, gconf-2.0) PKG_CHECK_MODULES(GNOME_KEYRING, gnome-keyring-1) fi PKG_CHECK_MODULES(LIBNL, libnl-1 >= 1.0-pre8) AC_ARG_WITH(gcrypt, AC_HELP_STRING([--with-gcrypt], [Use gcrypt library]), ac_gcrypt=$withval, ac_gcrypt=auto) if test x"$ac_gcrypt" != xno; then AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no) else LIBGCRYPT_CONFIG=no fi if test x"$LIBGCRYPT_CONFIG" = xno; then if test x"$ac_gcrypt" = xyes; then AC_MSG_ERROR([gcrypt explicitly requested but not found on system]) fi ac_gcrypt=no else if test x"$ac_gcrypt" != xno; then AC_DEFINE(HAVE_GCRYPT, 1, [Define if you have libgcrypt]) LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` AC_SUBST(LIBGCRYPT_CFLAGS) AC_SUBST(LIBGCRYPT_LIBS) fi fi AM_CONDITIONAL(WITH_GCRYPT, test x"$ac_gcrypt" != xno) if test x"$with_gnome" != xno; then PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0) PKG_CHECK_EXISTS([libgnome-2.0 >= 2.14.0],[have_libgnome_2_14=yes],[have_libgnome_2_14=no]) if test "$have_libgnome_2_14" = "yes"; then AC_DEFINE([HAVE_LIBGNOME_2_14],[1],[Define if we have libgnome 2.14]) fi fi GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0` AC_SUBST(GLIB_GENMARSHAL) AC_ARG_WITH(dbus-sys, AC_HELP_STRING([--with-dbus-sys=DIR], [where D-BUS system.d 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 AC_SUBST(DBUS_SYS_DIR) AC_DEFINE_UNQUOTED(DBUS_SYSTEMD_DIR, "$DBUS_SYS_DIR", [Where system.d dir for DBUS is]) # dhcdbd binary path AC_ARG_WITH(dhcdbd, AC_HELP_STRING([--with-dhcdbd=/path/to/dhcdbd], [path to dhcdbd])) if test "x${with_dhcdbd}" = x; then AC_PATH_PROG(DHCDBD_BINARY_PATH, dhcdbd, [], $PATH:/sbin:/usr/sbin) if ! test -x "$DHCDBD_BINARY_PATH"; then AC_MSG_ERROR(dhcdbd was not installed. See http://people.redhat.com/jvdias/dhcdbd) fi else DHCDBD_BINARY_PATH="$with_dhcdbd" fi AC_DEFINE_UNQUOTED(DHCDBD_BINARY_PATH, "$DHCDBD_BINARY_PATH", [Define to path of dhcdbd binary]) AC_SUBST(DHCDBD_BINARY_PATH) # wpa_supplicant binary path AC_ARG_WITH(wpa_supplicant, AC_HELP_STRING([--with-wpa_supplicant=/path/to/wpa_supplicant], [path to wpa_supplicant])) if test "x${with_wpa_supplicant}" = x; then AC_PATH_PROG(WPA_SUPPLICANT_BINARY_PATH, wpa_supplicant, [], $PATH:/sbin:/usr/sbin) if ! test -x "$WPA_SUPPLICANT_BINARY_PATH"; then AC_MSG_ERROR(wpa_supplicant is not installed. See http://hostap.epitest.fi/wpa_supplicant/) fi else WPA_SUPPLICANT_BINARY_PATH="$with_wpa_supplicant" fi AC_DEFINE_UNQUOTED(WPA_SUPPLICANT_BINARY_PATH, "$WPA_SUPPLICANT_BINARY_PATH", [Define to path of wpa_supplicant binary]) AC_SUBST(WPA_SUPPLICANT_BINARY_PATH) # ip binary path AC_ARG_WITH(ip, AC_HELP_STRING([--with-ip=/path/to/ip], [path to ip])) if test "x${with_ip}" = x; then AC_PATH_PROG(IP_BINARY_PATH, ip, [], $PATH:/sbin:/usr/sbin) if ! test -x "$IP_BINARY_PATH"; then AC_MSG_ERROR(iproute2 was not installed. See http://linux-net.osdl.org/index.php/Iproute2) fi else IP_BINARY_PATH="$with_ip" fi AC_DEFINE_UNQUOTED(IP_BINARY_PATH, "$IP_BINARY_PATH", [Define to path of ip binary]) AC_SUBST(IP_BINARY_PATH) #### find the actual value for $prefix that we'll end up with ## (I know this is broken and should be done in the Makefile, but ## that's a major pain and almost nobody actually seems to care) REAL_PREFIX= if test "x$prefix" = "xNONE"; then REAL_PREFIX=$ac_default_prefix else REAL_PREFIX=$prefix fi ## temporarily change prefix and exec_prefix old_prefix=$prefix prefix=$REAL_PREFIX if test "x$exec_prefix" = xNONE ; then REAL_EXEC_PREFIX=$REAL_PREFIX else REAL_EXEC_PREFIX=$exec_prefix fi old_exec_prefix=$exec_prefix exec_prefix=$REAL_EXEC_PREFIX BINDIR_TMP="$bindir" EXPANDED_BINDIR=`eval echo $BINDIR_TMP` AC_SUBST(EXPANDED_BINDIR) AC_DEFINE_UNQUOTED(EXPANDED_BINDIR, "$EXPANDED_BINDIR", [Where the executables are installed]) ## put prefix and exec_prefix back prefix=$old_prefix exec_prefix=$old_exec_prefix AC_ARG_ENABLE(more-warnings, AC_HELP_STRING([--enable-more-warnings], [Maximum compiler warnings]), set_more_warnings="$enableval",[ if test -d "$srcdir/{arch}" || test -d "$srcdir/CVS"; then set_more_warnings=yes else set_more_warnings=no fi ]) AC_MSG_CHECKING(for more warnings, including -Werror) if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then AC_MSG_RESULT(yes) CFLAGS="-Wall -Werror -std=gnu89 $CFLAGS" for option in -Wshadow -Wmissing-declarations -Wmissing-prototypes \ -Wdeclaration-after-statement -Wstrict-prototypes \ -Wfloat-equal -Wno-unused-parameter -Wno-sign-compare; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" AC_MSG_CHECKING([whether gcc understands $option]) AC_TRY_COMPILE([], [], has_option=yes, has_option=no,) if test $has_option = no; then CFLAGS="$SAVE_CFLAGS" fi AC_MSG_RESULT($has_option) unset has_option unset SAVE_CFLAGS done unset option else AC_MSG_RESULT(no) fi AC_OUTPUT([ Makefile include/Makefile utils/Makefile src/Makefile src/named-manager/Makefile src/vpn-manager/Makefile src/dhcp-manager/Makefile src/backends/Makefile libnm-util/libnm-util.pc libnm-util/Makefile dispatcher-daemon/Makefile gnome/Makefile gnome/libnm_glib/libnm_glib.pc gnome/libnm_glib/Makefile gnome/vpn-properties/Makefile test/Makefile test/test-common/Makefile test/libnm-util/Makefile initscript/Makefile initscript/RedHat/Makefile initscript/RedHat/NetworkManager initscript/RedHat/NetworkManagerDispatcher initscript/Gentoo/Makefile initscript/Gentoo/NetworkManager initscript/Debian/Makefile initscript/Slackware/Makefile initscript/Slackware/rc.networkmanager initscript/Slackware/rc.networkmanager-dispatcher initscript/SUSE/Makefile initscript/SUSE/networkmanager initscript/SUSE/networkmanager-dispatcher initscript/Arch/Makefile initscript/Arch/networkmanager initscript/Arch/networkmanager-dispatcher man/Makefile man/NetworkManager.8 man/NetworkManagerDispatcher.8 man/nm-tool.1 po/Makefile.in NetworkManager.pc ]) echo echo Distribution targeting: ${with_distro} echo 'if this is not correct, please specifiy your distro with --with-distro=DISTRO'