Blame configure.ac

Packit Service e9e31c
#                                               -*- Autoconf -*-
Packit Service e9e31c
# Process this file with autoconf to produce a configure script.
Packit Service e9e31c
Packit Service e9e31c
AC_INIT([libteam], [1.31], [jiri@resnulli.us])
Packit Service e9e31c
AC_CONFIG_AUX_DIR([build-aux])
Packit Service e9e31c
AC_CONFIG_MACRO_DIR([m4])
Packit Service e9e31c
AC_CONFIG_HEADERS([config.h])
Packit Service e9e31c
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
Packit Service e9e31c
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)], [])
Packit Service e9e31c
AM_PROG_AR
Packit Service e9e31c
Packit Service e9e31c
# Here are a set of rules to help you update your library version information:
Packit Service e9e31c
# 1. Start with version information of ‘0:0:0’ for each libtool library.
Packit Service e9e31c
# 2. Update the version information only immediately before a public release
Packit Service e9e31c
#    of your software. More frequent updates are unnecessary, and only guarantee
Packit Service e9e31c
#    that the current interface number gets larger faster.
Packit Service e9e31c
# 3. If the library source code has changed at all since the last update,
Packit Service e9e31c
#    then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
Packit Service e9e31c
# 4. If any interfaces have been added, removed, or changed since the last
Packit Service e9e31c
#    update, increment current, and set revision to 0.
Packit Service e9e31c
# 5. If any interfaces have been added since the last public release, then
Packit Service e9e31c
#    increment age.
Packit Service e9e31c
# 6. If any interfaces have been removed or changed since the last public
Packit Service e9e31c
#    release, then set age to 0.
Packit Service e9e31c
Packit Service e9e31c
AC_SUBST(LIBTEAM_CURRENT, 11)
Packit Service e9e31c
AC_SUBST(LIBTEAM_REVISION, 1)
Packit Service e9e31c
AC_SUBST(LIBTEAM_AGE, 6)
Packit Service e9e31c
Packit Service e9e31c
AC_SUBST(LIBTEAMDCTL_CURRENT, 1)
Packit Service e9e31c
AC_SUBST(LIBTEAMDCTL_REVISION, 5)
Packit Service e9e31c
AC_SUBST(LIBTEAMDCTL_AGE, 1)
Packit Service e9e31c
Packit Service e9e31c
CFLAGS="$CFLAGS -Wall"
Packit Service e9e31c
Packit Service e9e31c
# Checks for programs.
Packit Service e9e31c
AC_PROG_CC
Packit Service e9e31c
LT_INIT
Packit Service e9e31c
Packit Service e9e31c
PKG_CHECK_MODULES([LIBNL], [libnl-3.0 libnl-genl-3.0 libnl-route-3.0 libnl-cli-3.0])
Packit Service e9e31c
	TMP_CFLAGS="$CFLAGS"
Packit Service e9e31c
	TMP_LDFLAGS="$LDFLAGS"
Packit Service e9e31c
	TMP_LIBS="$LIBS"
Packit Service e9e31c
	CFLAGS="$CPPFLAGS $LIBNL_CFLAGS"
Packit Service e9e31c
	LDFLAGS=""
Packit Service e9e31c
	LIBS="$LIBS $LIBNL_LIBS"
Packit Service e9e31c
	AC_CHECK_LIB([nl-route-3], [rtnl_link_get_phys_port_id],
Packit Service e9e31c
		     AC_DEFINE(HAVE_RTNL_LINK_GET_PHYS_ID, [1], [Define to 1 if you have rtnl_link_get_phys_port_id function.]))
Packit Service e9e31c
	AC_CHECK_LIB([nl-route-3], [rtnl_link_set_carrier],
Packit Service e9e31c
		     AC_DEFINE(HAVE_RTNL_LINK_SET_CARRIER, [1], [Define to 1 if you have rtnl_link_set_carrier.]))
Packit Service e9e31c
	AC_CHECK_LIB([nl-route-3], [rtnl_link_get_carrier],
Packit Service e9e31c
		     AC_DEFINE(HAVE_RTNL_LINK_GET_CARRIER, [1], [Define to 1 if you have rtnl_link_get_carrier.]))
Packit Service e9e31c
	CFLAGS="$TMP_CFLAGS"
Packit Service e9e31c
	LDFLAGS="$TMP_LDFLAGS"
Packit Service e9e31c
	LIBS="$TMP_LIBS"
Packit Service e9e31c
Packit Service e9e31c
PKG_CHECK_MODULES([LIBDAEMON], [libdaemon])
Packit Service e9e31c
PKG_CHECK_MODULES([JANSSON], [jansson])
Packit Service e9e31c
Packit Service e9e31c
# Checks for header files.
Packit Service e9e31c
AC_CHECK_HEADERS([stdint.h stdlib.h])
Packit Service e9e31c
Packit Service e9e31c
# Checks for typedefs, structures, and compiler characteristics.
Packit Service e9e31c
AC_C_INLINE
Packit Service e9e31c
Packit Service e9e31c
# Checks for library functions.
Packit Service e9e31c
AC_FUNC_MALLOC
Packit Service e9e31c
Packit Service e9e31c
AC_ARG_ENABLE([logging],
Packit Service e9e31c
	AS_HELP_STRING([--disable-logging], [disable system logging @<:@default=enabled@:>@]),
Packit Service e9e31c
	[], enable_logging=yes)
Packit Service e9e31c
AS_IF([test "x$enable_logging" = "xyes"], [
Packit Service e9e31c
	AC_DEFINE(ENABLE_LOGGING, [1], [System logging.])
Packit Service e9e31c
])
Packit Service e9e31c
Packit Service e9e31c
AC_ARG_ENABLE([debug],
Packit Service e9e31c
	AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
Packit Service e9e31c
	[], [enable_debug=no])
Packit Service e9e31c
AS_IF([test "x$enable_debug" = "xyes"], [
Packit Service e9e31c
	AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.])
Packit Service e9e31c
])
Packit Service e9e31c
Packit Service e9e31c
user=root
Packit Service e9e31c
dbus_policy_template="teamd/teamd.conf.in"
Packit Service e9e31c
dbus_policy_file="teamd/dbus/teamd.conf"
Packit Service e9e31c
AC_ARG_WITH([user],
Packit Service e9e31c
	[AS_HELP_STRING([--with-user@<:@=username@:>@], [Set default daemon user @<:@default=root@:>@])],
Packit Service e9e31c
	[case "$withval" in
Packit Service e9e31c
		root|yes|no|"") ;;
Packit Service e9e31c
		*) user="$withval"
Packit Service e9e31c
		   sed -e "s|[@]teamd_user[@]|$user|g" \
Packit Service e9e31c
			< $dbus_policy_template > $dbus_policy_file ;;
Packit Service e9e31c
	esac]
Packit Service e9e31c
)
Packit Service e9e31c
AC_DEFINE_UNQUOTED(TEAMD_USER, "${user}", [TEAMD USER.])
Packit Service e9e31c
Packit Service e9e31c
group=root
Packit Service e9e31c
AC_ARG_WITH([group],
Packit Service e9e31c
	[AS_HELP_STRING([--with-group@<:@=groupname@:>@], [Specify the system group @<:@default=root@:>@])],
Packit Service e9e31c
	[case "$withval" in
Packit Service e9e31c
		yes|no|"") ;;
Packit Service e9e31c
		*) group="$withval" ;;
Packit Service e9e31c
	esac]
Packit Service e9e31c
)
Packit Service e9e31c
AC_DEFINE_UNQUOTED(TEAMD_GROUP, "${group}", [TEAMD GROUP.])
Packit Service e9e31c
Packit Service e9e31c
AM_CONDITIONAL([LIBCAP], [test "x$user" != "xroot" -o "x$group" != "xroot"])
Packit Service e9e31c
AM_COND_IF([LIBCAP],
Packit Service e9e31c
	[AC_CHECK_LIB([cap], [cap_init],,
Packit Service e9e31c
		AC_MSG_ERROR([*** Non-root daemon support requested but libcap-devel library not found]))])
Packit Service e9e31c
Packit Service e9e31c
have_dbus=no
Packit Service e9e31c
AC_ARG_ENABLE([dbus],
Packit Service e9e31c
	AS_HELP_STRING([--disable-dbus], [disable D-Bus API @<:@default=enabled@:>@]))
Packit Service e9e31c
	if test "x$enable_dbus" != "xno"; then
Packit Service e9e31c
		PKG_CHECK_MODULES([DBUS], [dbus-1],
Packit Service e9e31c
				  [AC_DEFINE(ENABLE_DBUS, [1], [D-Bus API.]) have_dbus=yes],
Packit Service e9e31c
				  have_dbus=no)
Packit Service e9e31c
	if test "x$have_dbus$enable_dbus" = xnoyes; then
Packit Service e9e31c
		AC_MSG_ERROR([*** D-Bus support requested but libraries not found])
Packit Service e9e31c
	fi
Packit Service e9e31c
fi
Packit Service e9e31c
Packit Service e9e31c
have_zmq=no
Packit Service e9e31c
AC_ARG_ENABLE([zmq],
Packit Service e9e31c
	AS_HELP_STRING([--disable-zmq], [disable ZeroMQ API @<:@default=enabled@:>@]))
Packit Service e9e31c
	if test "x$enable_zmq" != "xno"; then
Packit Service e9e31c
		PKG_CHECK_MODULES([ZMQ], [libzmq >= 3.2.0],
Packit Service e9e31c
				  [AC_DEFINE(ENABLE_ZMQ, [1], [ZMQ API.]) have_zmq=yes],
Packit Service e9e31c
				  have_zmq=no)
Packit Service e9e31c
	if test "x$have_zmq$enable_zmq" = xnoyes; then
Packit Service e9e31c
		AC_MSG_ERROR([*** ZeroMQ support requested but libraries not found])
Packit Service e9e31c
	fi
Packit Service e9e31c
fi
Packit Service e9e31c
Packit Service e9e31c
AC_ARG_WITH([run-dir],
Packit Service e9e31c
	[AS_HELP_STRING([--with-run-dir@<:@=DIR@:>@], [Teamd run time directory @<:@default=${localstatedir}@:>@])],
Packit Service e9e31c
	[case "$withval" in
Packit Service e9e31c
		yes|no|"") ;;
Packit Service e9e31c
		*) AC_DEFINE_UNQUOTED(TEAMD_RUN_DIR, "${withval}/", [TEAMD RUN DIR.]) ;;
Packit Service e9e31c
	esac]
Packit Service e9e31c
)
Packit Service e9e31c
Packit Service e9e31c
AC_CHECK_PROGS([DOXYGEN], [doxygen])
Packit Service e9e31c
if test -z "$DOXYGEN";
Packit Service e9e31c
	then AC_MSG_WARN([Doxygen not found - continuing without Doxygen support])
Packit Service e9e31c
fi
Packit Service e9e31c
Packit Service e9e31c
AM_CONDITIONAL([HAVE_DOXYGEN],
Packit Service e9e31c
[test -n "$DOXYGEN"])AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([doc/Doxyfile])])
Packit Service e9e31c
Packit Service e9e31c
AC_CONFIG_FILES([Makefile
Packit Service e9e31c
include/Makefile \
Packit Service e9e31c
libteam/Makefile \
Packit Service e9e31c
libteamdctl/Makefile \
Packit Service e9e31c
utils/Makefile \
Packit Service e9e31c
teamd/Makefile \
Packit Service e9e31c
man/Makefile \
Packit Service e9e31c
libteam/libteam.pc \
Packit Service e9e31c
libteamdctl/libteamdctl.pc \
Packit Service e9e31c
binding/Makefile \
Packit Service e9e31c
binding/python/Makefile \
Packit Service e9e31c
binding/python/setup.py \
Packit Service e9e31c
binding/python/team/Makefile \
Packit Service e9e31c
binding/python/team/capi.i \
Packit Service e9e31c
examples/Makefile \
Packit Service e9e31c
doc/Makefile])
Packit Service e9e31c
AC_OUTPUT