dnl Process this file with autoconf to produce a configure script.
AC_INIT([bridge-utils],[1.6])
AC_CONFIG_HEADERS(libbridge/config.h)

AC_ARG_WITH([linux-headers],
    [AS_HELP_STRING([--with-linux-headers], [location of the linux headers to use])],
    [KERNEL_HEADERS=$withval],
    [KERNEL_HEADERS="/usr/src/linux/include"]
)

dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_RANLIB

dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS(sys/ioctl.h sys/time.h)

dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_HEADER_TIME

dnl Checks for library functions.
AC_CHECK_FUNCS(gethostname socket strdup uname)
AC_CHECK_FUNCS(if_nametoindex if_indextoname)

AC_SUBST(KERNEL_HEADERS)

AC_CONFIG_FILES([doc/Makefile libbridge/Makefile brctl/Makefile Makefile bridge-utils.spec])
AC_OUTPUT
