From 5fa8e494ca240567313215a7d5a87c620e86024e Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 6 Nov 2014 17:09:44 +0100 Subject: build: autotools conversion 1) This removes former Makefiles and install-sh (which is now automagically imported via autoreconf). Makefile.defs.in Makefile.in Makefile.rules.in src/Makefile.in install-sh (now automagically imported via autoreconf). 2) CFLAGS are left almost same, they are integrated into Make_global.am. Use AM_CPPFLAGS to set the CFLAGS set by pkgconfig. 3) Add m4 directory to the tree which only contains the .gitignore file. Update .gitignore file to skip autogenerated files. 4) include whenever required. 5) Minor adjustments to scanner.l and parser_bison.y to compile cleanly with autotools. 6) Add %option outfile=lex.yy.c to scanner.l, otherwise I hit this error here: gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DDEFAULT_INCLUDE_PATH="\"/usr/etc\"" -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wdeclaration-after-statement -Wsign-compare -Winit-self -Wformat-nonliteral -Wformat-security -Wmissing-format-attribute -Wcast-align -Wundef -Wbad-function-cast -g -O2 -MT mnl.o -MD -MP -MF $depbase.Tpo -c -o mnl.o mnl.c &&\ mv -f $depbase.Tpo $depbase.Po /bin/sh ../build-aux/ylwrap scanner.l lex.yy.c scanner.c -- flex make[3]: *** [scanner.c] Error 1 make[3]: Leaving directory `/home/pablo/devel/scm/git-netfilter/nftables/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/pablo/devel/scm/git-netfilter/nftables/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/pablo/devel/scm/git-netfilter/nftables' make: *** [all] Error 2 7) Add Makefile.am for include/ (contributed by Giorgio Dal Molin). The doc/ and files/ conversion to automake will come in follow up patches but 'make distcheck' already works. Signed-off-by: Pablo Neira Ayuso --- configure.ac | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index ee9cf6c5..e71dcedf 100644 --- a/configure.ac +++ b/configure.ac @@ -7,6 +7,15 @@ AC_COPYRIGHT([Copyright (c) 2008 Patrick McHardy ]) AC_INIT([nftables], [0.3], [netfilter-devel@vger.kernel.org]) AC_DEFINE([RELEASE_NAME], ["Support Edward Snowden"], [Release name]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CANONICAL_HOST +AC_CONFIG_MACRO_DIR([m4]) +AM_INIT_AUTOMAKE([-Wall foreign subdir-objects + tar-pax no-dist-gzip dist-bzip2 1.6]) + +dnl kernel style compile messages +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + AC_CONFIG_SRCDIR([src/rule.c]) AC_CONFIG_HEADER([config.h]) @@ -77,8 +86,10 @@ AC_ARG_WITH([cli], [AS_HELP_STRING([--without-cli], AS_IF([test "x$with_cli" != xno], [ AC_CHECK_LIB([readline], [readline], , AC_MSG_ERROR([No suitable version of libreadline found])) +AC_DEFINE([HAVE_LIBREADLINE], [1], []) ]) AC_SUBST(with_cli) +AM_CONDITIONAL([BUILD_CLI], [test "x$with_cli" != xno]) # Checks for header files. AC_HEADER_STDC @@ -108,6 +119,15 @@ AC_TYPE_UINT64_T # Checks for library functions. AC_CHECK_FUNCS([memmove memset strchr strdup strerror strtoull]) -AC_CONFIG_FILES([Makefile Makefile.defs Makefile.rules]) -AC_CONFIG_FILES([src/Makefile doc/Makefile files/Makefile]) +AC_CONFIG_FILES([ \ + Makefile \ + src/Makefile \ + include/Makefile \ + include/linux/Makefile \ + include/linux/netfilter/Makefile \ + ]) AC_OUTPUT + +echo " +nft configuration: + cli support: ${with_cli}" -- cgit v1.2.3