summaryrefslogtreecommitdiffstats
path: root/configure.ac
blob: b78091e88185ea8492d94477900c2cd42407ecb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
dnl Process this file with autoconf to create configure.

AC_INIT([libnftnl], [1.0.6])
AC_CONFIG_AUX_DIR([build-aux])
AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])

AM_INIT_AUTOMAKE([-Wall foreign tar-pax no-dist-gzip dist-bzip2
	1.6 subdir-objects])

dnl kernel style compile messages
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])

dnl Dependencies
PKG_CHECK_MODULES([LIBMNL], [libmnl >= 1.0.0])
AC_ARG_WITH([xml-parsing],
	AS_HELP_STRING([--with-xml-parsing], [XML parsing support]))
AC_ARG_WITH([json-parsing],
	AS_HELP_STRING([--with-json-parsing], [JSON parsing support]))

AS_IF([test "x$with_xml_parsing" = "xyes"],
	[PKG_CHECK_MODULES([LIBXML], [mxml >= 2.6])],
	[with_xml_parsing="no"]
)
AS_IF([test "x$with_json_parsing" = "xyes"],
	[PKG_CHECK_MODULES([LIBJSON], [jansson >= 2.3])],
	[with_json_parsing="no"]
)
AC_PROG_CC
AM_PROG_CC_C_O
AC_EXEEXT
AC_DISABLE_STATIC
LT_INIT
CHECK_GCC_FVISIBILITY
case "$host" in
*-*-linux* | *-*-uclinux*) ;;
*) AC_MSG_ERROR([Linux only, dude!]);;
esac

regular_CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_REENTRANT"
AS_IF([test "x$with_xml_parsing" = "xyes"], [
	regular_CPPFLAGS="$regular_CPPFLAGS -DXML_PARSING"
])

AS_IF([test "x$with_json_parsing" = "xyes"], [
	regular_CPPFLAGS="$regular_CPPFLAGS -DJSON_PARSING"
])
regular_CFLAGS="-Wall -Waggregate-return -Wmissing-declarations \
	-Wmissing-prototypes -Wshadow -Wstrict-prototypes \
	-Wformat=2 -pipe"
AC_SUBST([regular_CPPFLAGS])
AC_SUBST([regular_CFLAGS])
AC_CONFIG_FILES([Makefile src/Makefile include/Makefile include/libnftnl/Makefile include/linux/Makefile include/linux/netfilter/Makefile examples/Makefile tests/Makefile libnftnl.pc doxygen.cfg])
AC_OUTPUT

echo "
libnftnl configuration:
  XML support:				${with_xml_parsing}
  JSON support:				${with_json_parsing}"