mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-02 01:50:14 +01:00
* Kill dhcpcd. We now use "dhcdbd", a dbus daemon that controls dhclient. This means that NetworkManager shouldn't have DHCP issues anymore. It also means you need dhcdbd, which you can get here (get the latest one): http://people.redhat.com/jvdias/dhcdbd/ Technically NetworkManager can use any DHCP daemon that uses the same DBUS interface as dhcdbd. * Rewrite device activation to facilitate the new DHCP infrastructure and future improvements. Its now "activation request" based, ie there is a single activation request composed of the device, access point, and other info which follows the entire activation process. There are 5 stages of the activation process which correspond to: 1) Device preparation 2) Device configuration (bring it up, set ESSID/Key/etc) 3) IP Config Start (fire off DHCP if we're using it) 4) IP Config Get (grab config from DHCP or static config files) 5) IP Config Commit (set device's IP address, DNS, etc) Note that there is no longer a "scanning" step, since the access point must be known _before_ activation starts. If the access point drops out or does not exist for some reason, the entire activation process fails and must be restarted for a different access point or device. Patch from Bill Moss: * gnome/applet/applet.c - Fix type of vpn_failure dialog -> vpn_banner dialog git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@597 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
288 lines
8.7 KiB
Text
288 lines
8.7 KiB
Text
AC_PREREQ(2.52)
|
|
|
|
AC_INIT(NetworkManager, 0.4, 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)
|
|
|
|
GETTEXT_PACKAGE=NetworkManager
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
|
|
ALL_LINGUAS="bs cs da de el en_CA es fr gu hr hu it ja nb ne nl no pa pt_BR rw sk sq sv uk wa zh_CN zh_TW"
|
|
AM_GLIB_GNU_GETTEXT
|
|
|
|
AC_ARG_WITH(distro, AC_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, gentoo, debian, or slackware]))
|
|
if test "z$with_distro" = "z"; then
|
|
AC_CHECK_FILE(/etc/mandrake-release,with_distro="mandrake")
|
|
AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
|
|
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/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|gentoo|debian|slackware) ;;
|
|
*)
|
|
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_GENTOO, test x"$with_distro" = xgentoo)
|
|
AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
|
|
AM_CONDITIONAL(TARGET_MANDRAKE, test x"$with_distro" = xmandrake)
|
|
AM_CONDITIONAL(TARGET_SLACKWARE, test x"$with_distro" = xslackware)
|
|
|
|
AC_CHECK_HEADER(iwlib.h, [],
|
|
[AC_MSG_ERROR(iwlib.h not found. Install wireless-tools.)], [])
|
|
AC_CHECK_LIB(iw, iw_scan, [ IWLIB=-liw ],
|
|
[AC_MSG_ERROR(wireless-tools 27.pre23 not installed or not functional)], [])
|
|
AC_SUBST(IWLIB)
|
|
|
|
PKG_CHECK_MODULES(DBUS, dbus-glib-1 >= 0.22)
|
|
|
|
##### 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
|
|
AC_SUBST(DBUS_CFLAGS)
|
|
AC_SUBST(DBUS_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
|
|
AC_SUBST(GTHREAD_CFLAGS)
|
|
AC_SUBST(GTHREAD_LIBS)
|
|
|
|
PKG_CHECK_MODULES(HAL, hal >= 0.2.91)
|
|
AC_SUBST(HAL_CFLAGS)
|
|
AC_SUBST(HAL_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GTK, gtk+-2.0)
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0)
|
|
AC_SUBST(GDK_PIXBUF_CFLAGS)
|
|
AC_SUBST(GDK_PIXBUF_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GLADE, libglade-2.0)
|
|
AC_SUBST(GLADE_CFLAGS)
|
|
AC_SUBST(GLADE_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GCONF, gconf-2.0)
|
|
AC_SUBST(GCONF_CFLAGS)
|
|
AC_SUBST(GCONF_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GNOME_KEYRING, gnome-keyring-1)
|
|
AC_SUBST(GNOME_KEYRING_CFLAGS)
|
|
AC_SUBST(GNOME_KEYRING_LIBS)
|
|
|
|
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)
|
|
|
|
PKG_CHECK_MODULES(PANEL_APPLET, libpanelapplet-2.0)
|
|
AC_SUBST(PANEL_APPLET_CFLAGS)
|
|
AC_SUBST(PANEL_APPLET_LIBS)
|
|
|
|
PKG_CHECK_MODULES(LIBGNOMEUI, libgnomeui-2.0)
|
|
AC_SUBST(LIBGNOMEUI_CFLAGS) # is this even needed? it was typed incorrectly before
|
|
AC_SUBST(LIBGNOMEUI_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GNOMEKEYRING, gnome-keyring-1)
|
|
AC_SUBST(GNOMEKEYRING_CFLAGS) # is this even needed? it was typed incorrectly before
|
|
AC_SUBST(GNOMEKEYRING_LIBS)
|
|
|
|
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])
|
|
|
|
AC_ARG_WITH(named, AC_HELP_STRING([--with-named=PATH], [path to the named binary]))
|
|
AC_ARG_WITH(named_dir, AC_HELP_STRING([--with-named-dir=PATH], [path to the named data directory]))
|
|
AC_ARG_WITH(named_user, AC_HELP_STRING([--with-named-user=USERNAME], [named username]))
|
|
if test "x${with_named}" = x; then
|
|
AC_DEFINE(NM_NO_NAMED,,[Define if you want to disable named support])
|
|
fi
|
|
AC_DEFINE_UNQUOTED(NM_NAMED_BINARY_PATH, "$with_named", [Define to path of named binary])
|
|
AC_DEFINE_UNQUOTED(NM_NAMED_DATA_DIR, "$with_named_dir", [Define to path of named data directory])
|
|
AC_DEFINE_UNQUOTED(NM_NAMED_USER, "$with_named_user", [Define to named username])
|
|
|
|
#### 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 -Wno-unused -Wno-strict-aliasing -Wno-sign-compare -Wdeclaration-after-statement -Wno-pointer-sign ; 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
|
|
utils/Makefile
|
|
src/Makefile
|
|
src/named-manager/Makefile
|
|
src/vpn-manager/Makefile
|
|
src/dhcp-manager/Makefile
|
|
src/backends/Makefile
|
|
dispatcher-daemon/Makefile
|
|
gnome/Makefile
|
|
gnome/applet/Makefile
|
|
gnome/applet/icons/Makefile
|
|
gnome/libnm_glib/libnm_glib.pc
|
|
gnome/libnm_glib/Makefile
|
|
test/Makefile
|
|
initscript/Makefile
|
|
initscript/RedHat/Makefile
|
|
initscript/Gentoo/Makefile
|
|
initscript/Debian/Makefile
|
|
initscript/Slackware/Makefile
|
|
po/Makefile.in
|
|
NetworkManager.pc
|
|
vpn-daemons/Makefile
|
|
vpn-daemons/vpnc/Makefile
|
|
])
|
|
|
|
echo
|
|
echo Distribution targeting: ${with_distro}
|
|
echo 'if this is not correct, please specifiy your distro with --with-distro=DISTRO'
|