* [PATCH nft 0/5] autotools conversion
@ 2014-11-06 18:25 Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 1/5] build: use PKG_CHECK_MODULES to check for libmnl and libnftnl Pablo Neira Ayuso
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-06 18:25 UTC (permalink / raw)
To: netfilter-devel; +Cc: kaber
Hi,
I found some time to work on the autotools support. Initial patches
were posted by Jan dal Molin here:
http://marc.info/?l=netfilter-devel&m=140632527026257&w=2
Those were a good start to address this, but I wanted to introduce
these changes incrementally by avoiding bisectability breakage
between patches. Moreover, this changeset included quite a lot of
changes in configure.ac among other things that this patchset avoids.
Note that doc/ and files/ were not converted yet, so those are currently
disabled. Feel free to send patches to complete that or I'll finish
it once I find time to work on this again.
I have pushed this to this branch:
http://git.netfilter.org/nftables/log/?h=autotools
Please, review and test. Thanks.
Pablo Neira Ayuso (5):
build: use PKG_CHECK_MODULES to check for libmnl and libnftnl
build: use AC_PROG_YACC and AM_PROG_LEX
rename parser.y to parser_bison.y
include: add cli.h
build: autotools conversion
.gitignore | 10 +-
Make_global.am | 10 ++
Makefile.am | 5 +
Makefile.defs.in | 42 ------
Makefile.in | 5 -
Makefile.rules.in | 96 --------------
configure.ac | 49 ++++---
include/cli.h | 18 +++
include/nftables.h | 14 +-
install-sh | 269 --------------------------------------
m4/.gitignore | 2 +
src/Makefile.am | 41 ++++++
src/Makefile.in | 33 -----
src/cli.c | 2 +
src/erec.c | 1 +
src/main.c | 1 +
src/{parser.y => parser_bison.y} | 3 +-
src/scanner.l | 3 +-
18 files changed, 122 insertions(+), 482 deletions(-)
create mode 100644 Make_global.am
create mode 100644 Makefile.am
delete mode 100644 Makefile.defs.in
delete mode 100644 Makefile.in
delete mode 100644 Makefile.rules.in
create mode 100644 include/cli.h
delete mode 100755 install-sh
create mode 100644 m4/.gitignore
create mode 100644 src/Makefile.am
delete mode 100644 src/Makefile.in
rename src/{parser.y => parser_bison.y} (99%)
--
1.7.10.4
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH nft 1/5] build: use PKG_CHECK_MODULES to check for libmnl and libnftnl
2014-11-06 18:25 [PATCH nft 0/5] autotools conversion Pablo Neira Ayuso
@ 2014-11-06 18:25 ` Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 2/5] build: use AC_PROG_YACC and AM_PROG_LEX Pablo Neira Ayuso
` (4 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-06 18:25 UTC (permalink / raw)
To: netfilter-devel; +Cc: kaber
Also check for required library versions.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
Makefile.defs.in | 2 +-
configure.ac | 7 ++-----
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/Makefile.defs.in b/Makefile.defs.in
index 915d3d8..b9b115f 100644
--- a/Makefile.defs.in
+++ b/Makefile.defs.in
@@ -19,7 +19,7 @@ docdir = @docdir@
pdfdir = @pdfdir@
confdir = @sysconfdir@/nftables
-LDFLAGS += @LDFLAGS@
+LDFLAGS += -lmnl -lnftnl
LDFLAGS += @LIBS@
CPPFLAGS += @CPPFLAGS@
diff --git a/configure.ac b/configure.ac
index 4aa14e3..e68d59f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,11 +62,8 @@ then
fi
# Checks for libraries.
-AC_CHECK_LIB([mnl], [mnl_socket_open], ,
- AC_MSG_ERROR([No suitable version of libmnl found]))
-
-AC_CHECK_LIB([nftnl], [nft_rule_alloc], ,
- AC_MSG_ERROR([No suitable version of libnftnl found]))
+PKG_CHECK_MODULES([LIBMNL], [libmnl >= 1.0.3])
+PKG_CHECK_MODULES([LIBNFTNL], [libnftnl >= 1.0.2])
AC_CHECK_LIB([gmp], [__gmpz_init], ,
AC_MSG_ERROR([No suitable version of libgmp found]))
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH nft 2/5] build: use AC_PROG_YACC and AM_PROG_LEX
2014-11-06 18:25 [PATCH nft 0/5] autotools conversion Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 1/5] build: use PKG_CHECK_MODULES to check for libmnl and libnftnl Pablo Neira Ayuso
@ 2014-11-06 18:25 ` Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 3/5] rename parser.y to parser_bison.y Pablo Neira Ayuso
` (3 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-06 18:25 UTC (permalink / raw)
To: netfilter-devel; +Cc: kaber
To check for bison and flex installed on the system.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
configure.ac | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/configure.ac b/configure.ac
index e68d59f..ee9cf6c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,6 +24,21 @@ AC_PROG_CC
AC_PROG_MKDIR_P
AC_PROG_INSTALL
AC_PROG_SED
+AM_PROG_LEX
+AC_PROG_YACC
+
+if test -z "$ac_cv_prog_YACC"
+then
+ echo "*** Error: No suitable bison/yacc found. ***"
+ echo " Please install the 'bison' package."
+ exit 1
+fi
+if test -z "$ac_cv_prog_LEX"
+then
+ echo "*** Error: No suitable flex/lex found. ***"
+ echo " Please install the 'flex' package."
+ exit 1
+fi
AC_CHECK_PROG(CONFIG_MAN1, [docbook2x-man], [y], [n])
if test "$CONFIG_MAN1" == "y"
@@ -49,18 +64,6 @@ then
AC_MSG_WARN([dblatex not found, no PDF manpages will be built])
fi
-AC_PATH_PROG(LEX, [flex])
-if test -z "$LEX"
-then
- AC_MSG_ERROR([No suitable version of flex found])
-fi
-
-AC_PATH_PROG(YACC, [bison])
-if test -z "$YACC"
-then
- AC_MSG_ERROR([No suitable version of bison found])
-fi
-
# Checks for libraries.
PKG_CHECK_MODULES([LIBMNL], [libmnl >= 1.0.3])
PKG_CHECK_MODULES([LIBNFTNL], [libnftnl >= 1.0.2])
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH nft 3/5] rename parser.y to parser_bison.y
2014-11-06 18:25 [PATCH nft 0/5] autotools conversion Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 1/5] build: use PKG_CHECK_MODULES to check for libmnl and libnftnl Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 2/5] build: use AC_PROG_YACC and AM_PROG_LEX Pablo Neira Ayuso
@ 2014-11-06 18:25 ` Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 4/5] include: add cli.h Pablo Neira Ayuso
` (2 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-06 18:25 UTC (permalink / raw)
To: netfilter-devel; +Cc: kaber
The conversion to the autotools need this.
Make sure you remove the autogenerated parser.c and parser.h from
your tree.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
src/Makefile.in | 4 ++--
src/{parser.y => parser_bison.y} | 2 +-
src/scanner.l | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
rename src/{parser.y => parser_bison.y} (99%)
diff --git a/src/Makefile.in b/src/Makefile.in
index 7ecc5f2..0c080f6 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -26,8 +26,8 @@ nft-obj += utils.o
nft-obj += erec.o
nft-obj += mnl.o
-nft-obj += parser.o
-nft-extra-clean-files += parser.c parser.h
+nft-obj += parser_bison.o
+nft-extra-clean-files += parser_bison.c parser_bison.h
nft-obj += scanner.o
nft-extra-clean-files += scanner.c scanner.h
diff --git a/src/parser.y b/src/parser_bison.y
similarity index 99%
rename from src/parser.y
rename to src/parser_bison.y
index 6209e9e..1c4046b 100644
--- a/src/parser.y
+++ b/src/parser_bison.y
@@ -32,7 +32,7 @@
#include <parser.h>
#include <erec.h>
-#include "parser.h"
+#include "parser_bison.h"
#include "scanner.h"
void parser_init(struct parser_state *state, struct list_head *msgs)
diff --git a/src/scanner.l b/src/scanner.l
index e36c3b1..e5f3a99 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -20,7 +20,7 @@
#include <erec.h>
#include <rule.h>
#include <parser.h>
-#include "parser.h"
+#include "parser_bison.h"
#define YY_NO_INPUT
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH nft 4/5] include: add cli.h
2014-11-06 18:25 [PATCH nft 0/5] autotools conversion Pablo Neira Ayuso
` (2 preceding siblings ...)
2014-11-06 18:25 ` [PATCH nft 3/5] rename parser.y to parser_bison.y Pablo Neira Ayuso
@ 2014-11-06 18:25 ` Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 5/5] build: autotools conversion Pablo Neira Ayuso
2014-11-09 20:26 ` [PATCH 1/1] autotools conversion fixups giorgio.nicole
5 siblings, 0 replies; 10+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-06 18:25 UTC (permalink / raw)
To: netfilter-devel; +Cc: kaber
Needed by follow up patches to use autotools.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
include/cli.h | 18 ++++++++++++++++++
include/nftables.h | 14 ++------------
src/cli.c | 1 +
src/main.c | 1 +
4 files changed, 22 insertions(+), 12 deletions(-)
create mode 100644 include/cli.h
diff --git a/include/cli.h b/include/cli.h
new file mode 100644
index 0000000..89cb976
--- /dev/null
+++ b/include/cli.h
@@ -0,0 +1,18 @@
+#ifndef _NFT_CLI_H_
+#define _NFT_CLI_H_
+
+#include <config.h>
+
+struct parser_state;
+#ifdef HAVE_LIBREADLINE
+extern int cli_init(struct parser_state *state);
+#else
+static inline int cli_init(struct parser_state *state)
+{
+ return -1;
+}
+#endif
+extern void cli_exit(void);
+extern void cli_display(const char *fmt, va_list ap) __fmtstring(1, 0);
+
+#endif
diff --git a/include/nftables.h b/include/nftables.h
index 4c33ec6..cf19de8 100644
--- a/include/nftables.h
+++ b/include/nftables.h
@@ -31,18 +31,6 @@ extern unsigned int handle_output;
extern unsigned int debug_level;
extern const char *include_paths[INCLUDE_PATHS_MAX];
-struct parser_state;
-#ifdef HAVE_LIBREADLINE
-extern int cli_init(struct parser_state *state);
-#else
-static inline int cli_init(struct parser_state *state)
-{
- return -1;
-}
-#endif
-extern void cli_exit(void);
-extern void cli_display(const char *fmt, va_list ap) __fmtstring(1, 0);
-
enum nftables_exit_codes {
NFT_EXIT_SUCCESS = 0,
NFT_EXIT_FAILURE = 1,
@@ -116,6 +104,8 @@ struct input_descriptor {
off_t line_offset;
};
+struct parser_state;
+
int nft_run(void *scanner, struct parser_state *state, struct list_head *msgs);
#endif /* NFTABLES_NFTABLES_H */
diff --git a/src/cli.c b/src/cli.c
index f748a0e..6f2847b 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -27,6 +27,7 @@
#include <parser.h>
#include <erec.h>
#include <utils.h>
+#include <cli.h>
#define CMDLINE_HISTFILE ".nft.history"
diff --git a/src/main.c b/src/main.c
index 1625914..b447aad 100644
--- a/src/main.c
+++ b/src/main.c
@@ -25,6 +25,7 @@
#include <netlink.h>
#include <erec.h>
#include <mnl.h>
+#include <cli.h>
unsigned int max_errors = 10;
unsigned int numeric_output;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH nft 5/5] build: autotools conversion
2014-11-06 18:25 [PATCH nft 0/5] autotools conversion Pablo Neira Ayuso
` (3 preceding siblings ...)
2014-11-06 18:25 ` [PATCH nft 4/5] include: add cli.h Pablo Neira Ayuso
@ 2014-11-06 18:25 ` Pablo Neira Ayuso
2014-11-06 20:29 ` Jan Engelhardt
2014-11-07 18:17 ` Giorgio
2014-11-09 20:26 ` [PATCH 1/1] autotools conversion fixups giorgio.nicole
5 siblings, 2 replies; 10+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-06 18:25 UTC (permalink / raw)
To: netfilter-devel; +Cc: kaber
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 the same, they are integrated into Make_global.am.
3) Add m4 directory to the tree which only contains the .gitignore
file.
4) include <config.h> whenever required.
5) Minor adjustments to scanner.l and parser_bison.y to compile cleanly
with autotools.
The doc/ and files/ conversion to automake will come in follow up
patches.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
.gitignore | 10 +-
Make_global.am | 10 ++
Makefile.am | 5 +
Makefile.defs.in | 42 --------
Makefile.in | 5 -
Makefile.rules.in | 96 -------------------
configure.ac | 15 ++-
install-sh | 269 ----------------------------------------------------
m4/.gitignore | 2 +
src/Makefile.am | 41 ++++++++
src/Makefile.in | 33 -------
src/cli.c | 1 +
src/erec.c | 1 +
src/parser_bison.y | 1 -
src/scanner.l | 1 +
15 files changed, 81 insertions(+), 451 deletions(-)
create mode 100644 Make_global.am
create mode 100644 Makefile.am
delete mode 100644 Makefile.defs.in
delete mode 100644 Makefile.in
delete mode 100644 Makefile.rules.in
delete mode 100755 install-sh
create mode 100644 m4/.gitignore
create mode 100644 src/Makefile.am
delete mode 100644 src/Makefile.in
diff --git a/.gitignore b/.gitignore
index d26b395..7247daf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,10 +2,13 @@
.*.d
*.o
-# Generated by autoconf/configure
+# Generated by autoconf/configure/automake
+*.m4
Makefile
-Makefile.defs
-Makefile.rules
+Makefile.in
+src/Makefile.in
+src/.deps/
+stamp-h1
config.h
config.h.in
config.h.in~
@@ -13,6 +16,7 @@ config.log
config.status
configure
autom4te.cache
+build-aux/
# Debian package build temporary files
build-stamp
diff --git a/Make_global.am b/Make_global.am
new file mode 100644
index 0000000..8ad0eb0
--- /dev/null
+++ b/Make_global.am
@@ -0,0 +1,10 @@
+AM_CPPFLAGS = -I$(top_srcdir)/include
+AM_CPPFLAGS += -DDEFAULT_INCLUDE_PATH="\"${sysconfdir}\"" -D__USE_GNU
+
+AM_CFLAGS = -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 # -Wshadow \
+ -Waggregate-return -Wunused -Wwrite-strings \
+ ${LIBMNL_CFLAGS} ${LIBNFTNL_CFLAGS}
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..f48b08c
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,5 @@
+include Make_global.am
+
+ACLOCAL_AMFLAGS = -I m4
+
+SUBDIRS = src
diff --git a/Makefile.defs.in b/Makefile.defs.in
deleted file mode 100644
index b9b115f..0000000
--- a/Makefile.defs.in
+++ /dev/null
@@ -1,42 +0,0 @@
-DEBUG = @CONFIG_DEBUG@
-CC = @CC@
-CPP = @CPP@
-LEX = @LEX@
-YACC = @YACC@
-MKDIR_P = @MKDIR_P@
-INSTALL = @INSTALL@
-SED = @SED@
-DB2MAN = @DB2MAN@
-
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-sysconfdir = @sysconfdir@
-datarootdir = @datarootdir@
-mandir = @mandir@
-docdir = @docdir@
-pdfdir = @pdfdir@
-confdir = @sysconfdir@/nftables
-
-LDFLAGS += -lmnl -lnftnl
-LDFLAGS += @LIBS@
-
-CPPFLAGS += @CPPFLAGS@
-
-CFLAGS += @CFLAGS@ @DEFS@
-CFLAGS += -DDEFAULT_INCLUDE_PATH="\"$(confdir)\""
-CFLAGS += -include config.h
-CFLAGS += -Iinclude
-CFLAGS += -fno-strict-aliasing
-
-CFLAGS += -Wall
-CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
-CFLAGS += -Wdeclaration-after-statement -Wsign-compare -Winit-self
-CFLAGS += -Wformat-nonliteral -Wformat-security -Wmissing-format-attribute
-CFLAGS += -Wcast-align -Wundef -Wbad-function-cast # -Wshadow
-CFLAGS += -Waggregate-return -Wunused -Wwrite-strings
-
-ifeq ($(DEBUG),y)
-CFLAGS += -g -DDEBUG
-endif
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index 5d42541..0000000
--- a/Makefile.in
+++ /dev/null
@@ -1,5 +0,0 @@
-SUBDIRS += src
-SUBDIRS += files
-SUBDIRS += doc
-
-include Makefile.rules
diff --git a/Makefile.rules.in b/Makefile.rules.in
deleted file mode 100644
index 6a00916..0000000
--- a/Makefile.rules.in
+++ /dev/null
@@ -1,96 +0,0 @@
-include Makefile.defs
-
-makedeps += $(SUBDIR)Makefile
-makedeps += Makefile
-makedeps += Makefile.defs
-makedeps += Makefile.rules
-
-configure: configure.ac
- sh autogen.sh
-
-%: %.in configure
- sh configure
-
-%.o: %.c $(makedeps)
- @echo -e " CC\t\t$<"
- $(CC) $(CFLAGS) -c -o $@ $<
-
-.%.d: %.c $(makedeps)
- @echo -e " DEP\t\t$<"
- $(RM) $@
- $(CC) -M $(CFLAGS) $< | sed 's,$(*F)\.o[ :]*,$*.o $@ : ,g' > $@
-
-%.c %.h: %.y $(makedeps)
- @echo -e " YACC\t\t$<"
- $(YACC) $(YACCFLAGS) --defines=$*.h.tmp -o $@ $<
- ( \
- echo "#ifndef __$(*F)_H"; \
- echo "#define __$(*F)_H"; \
- cat $*.h.tmp; \
- echo "#endif /* __$(*F)_H */" \
- ) > $*.h
- $(RM) $*.h.tmp
-
-%.c %.h: %.l $(makedeps)
- @echo -e " LEX\t\t$<"
- $(LEX) -t --header-file=$(<:.l=.h) $< > $@
-
-%.8: %.xml $(makedeps)
- @echo -e " MAN\t\t$@"
- (cd $(SUBDIR); $(DB2MAN) --xinclude ../$<)
-
-%.pdf: %.xml $(makedeps)
- @echo -e " PDF\t\t$@"
- dblatex -q -t pdf -o $@ $<
-
-archive:
- git archive --prefix=nftables-@PACKAGE_VERSION@/ HEAD | \
- bzip2 -c > nftables-@PACKAGE_VERSION@.tar.bz2
-
-define program_template
-$(1)-obj := $$(patsubst %,$(SUBDIR)%,$$($(1)-obj))
-$(1)-extra-clean-files := $$(patsubst %,$(SUBDIR)%,$$($(1)-extra-clean-files))
-
-depfiles := $$(patsubst $(SUBDIR)%.o,$(SUBDIR).%.d,$$($(1)-obj))
-
-$(SUBDIR)$(1): $$($(1)-extra-targets) $$($(1)-obj)
- @echo -e " LD\t\t$$@"
- $$(CC) $$($(1)-obj) $$(LDFLAGS) -o $$@
-all_targets += $(SUBDIR)$(1)
-
-.PHONY: $(1)-clean
-$(1)-clean:
- @echo -e " CLEAN\t\t$(1)"
- $$(RM) $$($(1)-obj) $$(depfiles) $$($(1)-extra-clean-files) $(SUBDIR)$(1)
-clean_targets += $(1)-clean
-
-.PHONY: $(1)-install
-$(1)-install:
- @echo -e " INSTALL\t$1"
- $(MKDIR_P) $$(DESTDIR)/$$($(1)-destdir)
- $(INSTALL) -m 755 -p \
- $(SUBDIR)$(1) \
- $$(DESTDIR)/$$($(1)-destdir)/$(1)
-install_targets += $(1)-install
-
-ifneq ($(MAKECMDGOALS),clean)
--include $$(depfiles)
-endif
-endef
-
-ifneq ($(SUBDIR),)
-include $(SUBDIR)/Makefile
-$(foreach prog,$(PROGRAMS),$(eval $(call program_template,$(prog))))
-endif
-
-.DEFAULT_GOAL := all
-
-.PHONY: all clean install
-all: $(SUBDIRS) $(all_targets)
-clean: $(SUBDIRS) $(clean_targets)
-install: all $(SUBDIRS) $(install_targets)
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- @echo -e " SUBDIR\t$@/"
- @$(MAKE) -s -f Makefile.rules $(MAKECMDGOALS) SUBDIR="$@/" SUBDIRS=""
diff --git a/configure.ac b/configure.ac
index ee9cf6c..15bb3e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,6 +7,15 @@ AC_COPYRIGHT([Copyright (c) 2008 Patrick McHardy <kaber@trash.net>])
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,6 @@ 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])
+AC_CONFIG_FILES([src/Makefile])
AC_OUTPUT
diff --git a/install-sh b/install-sh
deleted file mode 100755
index d4744f0..0000000
--- a/install-sh
+++ /dev/null
@@ -1,269 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-#
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/m4/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..8a6471a
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,41 @@
+include $(top_srcdir)/Make_global.am
+
+sbin_PROGRAMS = nft
+
+CLEANFILES = scanner.c parser_bison.c
+
+AM_YFLAGS = -d
+
+# yacc and lex generate dirty code
+parser_bison.o scanner.o: AM_CFLAGS += -Wno-missing-prototypes -Wno-missing-declarations -Wno-implicit-function-declaration -Wno-nested-externs -Wno-undef -Wno-redundant-decls
+
+BUILT_SOURCES = parser_bison.h
+
+nft_SOURCES = main.c \
+ rule.c \
+ statement.c \
+ datatype.c \
+ expression.c \
+ evaluate.c \
+ proto.c \
+ payload.c \
+ exthdr.c \
+ meta.c \
+ ct.c \
+ netlink.c \
+ netlink_linearize.c \
+ netlink_delinearize.c \
+ segtree.c \
+ rbtree.c \
+ gmputil.c \
+ utils.c \
+ erec.c \
+ mnl.c \
+ scanner.l \
+ parser_bison.y
+
+if BUILD_CLI
+nft_SOURCES += cli.c
+endif
+
+nft_LDADD = ${LIBMNL_LIBS} ${LIBNFTNL_LIBS}
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644
index 0c080f6..0000000
--- a/src/Makefile.in
+++ /dev/null
@@ -1,33 +0,0 @@
-PROGRAMS += nft
-
-nft-destdir := @sbindir@
-
-nft-obj += main.o
-ifeq (@with_cli@,yes)
-nft-obj += cli.o
-endif
-nft-obj += rule.o
-nft-obj += statement.o
-nft-obj += datatype.o
-nft-obj += expression.o
-nft-obj += evaluate.o
-nft-obj += proto.o
-nft-obj += payload.o
-nft-obj += exthdr.o
-nft-obj += meta.o
-nft-obj += ct.o
-nft-obj += netlink.o
-nft-obj += netlink_linearize.o
-nft-obj += netlink_delinearize.o
-nft-obj += segtree.o
-nft-obj += rbtree.o
-nft-obj += gmputil.o
-nft-obj += utils.o
-nft-obj += erec.o
-nft-obj += mnl.o
-
-nft-obj += parser_bison.o
-nft-extra-clean-files += parser_bison.c parser_bison.h
-
-nft-obj += scanner.o
-nft-extra-clean-files += scanner.c scanner.h
diff --git a/src/cli.c b/src/cli.c
index 6f2847b..f3827b8 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -12,6 +12,7 @@
* Development of this code funded by Astaro AG (http://www.astaro.com/)
*/
+#include <config.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
diff --git a/src/erec.c b/src/erec.c
index 4930085..82543e6 100644
--- a/src/erec.c
+++ b/src/erec.c
@@ -8,6 +8,7 @@
* Development of this code funded by Astaro AG (http://www.astaro.com/)
*/
+#include <config.h>
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
diff --git a/src/parser_bison.y b/src/parser_bison.y
index 1c4046b..6099aca 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -33,7 +33,6 @@
#include <erec.h>
#include "parser_bison.h"
-#include "scanner.h"
void parser_init(struct parser_state *state, struct list_head *msgs)
{
diff --git a/src/scanner.l b/src/scanner.l
index e5f3a99..12af2d8 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -169,6 +169,7 @@ ip6addr ({v680}|{v67}|{v66}|{v65}|{v64}|{v63}|{v62}|{v61}|{v60})
addrstring ({macaddr}|{ip4addr}|{ip6addr})
%option prefix="nft_"
+%option outfile="lex.yy.c"
%option reentrant
%option noyywrap
%option nounput
--
1.7.10.4
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH nft 5/5] build: autotools conversion
2014-11-06 18:25 ` [PATCH nft 5/5] build: autotools conversion Pablo Neira Ayuso
@ 2014-11-06 20:29 ` Jan Engelhardt
2014-11-07 18:17 ` Giorgio
1 sibling, 0 replies; 10+ messages in thread
From: Jan Engelhardt @ 2014-11-06 20:29 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: Netfilter Developer Mailing List, Patrick McHardy
On Thursday 2014-11-06 19:25, Pablo Neira Ayuso wrote:
>+AM_CPPFLAGS += -DDEFAULT_INCLUDE_PATH="\"${sysconfdir}\"" -D__USE_GNU
feature_test_macros(7) specifies _GNU_SOURCE rather than __USE_GNU.
>+AM_CFLAGS = -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 # -Wshadow \
>+ -Waggregate-return -Wunused -Wwrite-strings \
>+ ${LIBMNL_CFLAGS} ${LIBNFTNL_CFLAGS}
You have a # in there, which causes the remaining -W and -I from
LIBMNL_CFLAGS to be absent from the compilation line.
LIBMNL_CFLAGS and LIBNFTNL_CFLAGS should be in AM_CPPFLAGS because
they are, well, cppflags. (It's a pkgconfig "bug").
This was properly done in the original autotools submissions.
>--- /dev/null
>+++ b/m4/.gitignore
>@@ -0,0 +1,2 @@
>+*
>+!.gitignore
The last entry is not needed, because .gitignore would already be
unignored because it is tracked.
/lt*.m4
/libtool.m4
as in the original submission would ensure that no more files are
ignored than absolutely necessary, so as to be aware of potential
additional files popping up.
>--- a/src/scanner.l
>+++ b/src/scanner.l
>@@ -169,6 +169,7 @@ ip6addr ({v680}|{v67}|{v66}|{v65}|{v64}|{v63}|{v62}|{v61}|{v60})
> addrstring ({macaddr}|{ip4addr}|{ip6addr})
>
> %option prefix="nft_"
>+%option outfile="lex.yy.c"
> %option reentrant
> %option noyywrap
> %option nounput
Why is this needed? The default output filename is already lex.yy.c
(and ylwrap will rename it anyway).
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH nft 5/5] build: autotools conversion
2014-11-06 18:25 ` [PATCH nft 5/5] build: autotools conversion Pablo Neira Ayuso
2014-11-06 20:29 ` Jan Engelhardt
@ 2014-11-07 18:17 ` Giorgio
1 sibling, 0 replies; 10+ messages in thread
From: Giorgio @ 2014-11-07 18:17 UTC (permalink / raw)
To: Pablo Neira Ayuso; +Cc: netfilter-devel
[-- Attachment #1: Type: text/plain, Size: 957 bytes --]
On 11/06/2014 07:25 PM, Pablo Neira Ayuso wrote:
> diff --git a/Make_global.am b/Make_global.am
> new file mode 100644
> index 0000000..8ad0eb0
> --- /dev/null
> +++ b/Make_global.am
> @@ -0,0 +1,10 @@
> +AM_CPPFLAGS = -I$(top_srcdir)/include
> +AM_CPPFLAGS += -DDEFAULT_INCLUDE_PATH="\"${sysconfdir}\"" -D__USE_GNU
> +
> +AM_CFLAGS = -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 # -Wshadow \
> + -Waggregate-return -Wunused -Wwrite-strings \
> + ${LIBMNL_CFLAGS} ${LIBNFTNL_CFLAGS}
why do you need this new file? The #include in the main Makefile.am is
useless because you do not build anything there; the only right place to
have these definitions is under src/Makefile.am.
giorgio
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 246 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/1] autotools conversion fixups
2014-11-06 18:25 [PATCH nft 0/5] autotools conversion Pablo Neira Ayuso
` (4 preceding siblings ...)
2014-11-06 18:25 ` [PATCH nft 5/5] build: autotools conversion Pablo Neira Ayuso
@ 2014-11-09 20:26 ` giorgio.nicole
2014-11-12 12:01 ` Pablo Neira Ayuso
5 siblings, 1 reply; 10+ messages in thread
From: giorgio.nicole @ 2014-11-09 20:26 UTC (permalink / raw)
To: netfilter-devel
From: root <root@lord_casco.spaceball>
Add some missing Makefile.am's under the include directory.
Now it is possible to build 'nftables' from a separate build directory
and produce a release tar archive with a 'make distcheck'.
---
Make_global.am | 10 ----------
Makefile.am | 5 ++---
autogen.sh | 9 ++++++++-
configure.ac | 9 +++++++--
include/Makefile.am | 22 ++++++++++++++++++++++
include/linux/Makefile.am | 7 +++++++
include/linux/netfilter/Makefile.am | 5 +++++
src/Makefile.am | 14 ++++++++++++--
8 files changed, 63 insertions(+), 18 deletions(-)
delete mode 100644 Make_global.am
create mode 100644 include/Makefile.am
create mode 100644 include/linux/Makefile.am
create mode 100644 include/linux/netfilter/Makefile.am
diff --git a/Make_global.am b/Make_global.am
deleted file mode 100644
index fbad2a6..0000000
--- a/Make_global.am
+++ /dev/null
@@ -1,10 +0,0 @@
-AM_CPPFLAGS = -I$(top_srcdir)/include
-AM_CPPFLAGS += -DDEFAULT_INCLUDE_PATH="\"${sysconfdir}\""
- ${LIBMNL_CFLAGS} ${LIBNFTNL_CFLAGS}
-
-AM_CFLAGS = -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
- -Waggregate-return -Wunused -Wwrite-strings
diff --git a/Makefile.am b/Makefile.am
index f48b08c..8d301f6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,4 @@
-include Make_global.am
-
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = src
+SUBDIRS = src \
+ include
diff --git a/autogen.sh b/autogen.sh
index a62e737..4b6b92d 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,4 +1,11 @@
#!/bin/bash
-autoreconf -fi;
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -vfi || exit 1
rm -Rf autom4te*.cache config.h.in~
+cd $ORIGDIR || exit $?
diff --git a/configure.ac b/configure.ac
index 15bb3e9..ddba5e2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -119,6 +119,11 @@ AC_TYPE_UINT64_T
# Checks for library functions.
AC_CHECK_FUNCS([memmove memset strchr strdup strerror strtoull])
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_FILES([src/Makefile])
+AC_CONFIG_FILES([ \
+ Makefile \
+ src/Makefile \
+ include/Makefile \
+ include/linux/Makefile \
+ include/linux/netfilter/Makefile \
+ ])
AC_OUTPUT
diff --git a/include/Makefile.am b/include/Makefile.am
new file mode 100644
index 0000000..f22561b
--- /dev/null
+++ b/include/Makefile.am
@@ -0,0 +1,22 @@
+SUBDIRS = linux
+
+noinst_HEADERS = cli.h \
+ datatype.h \
+ expression.h \
+ gmputil.h \
+ mnl.h \
+ nftables.h \
+ payload.h \
+ rbtree.h \
+ statement.h \
+ ct.h \
+ erec.h \
+ exthdr.h \
+ headers.h \
+ list.h \
+ meta.h \
+ netlink.h \
+ parser.h \
+ proto.h \
+ rule.h \
+ utils.h
diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
new file mode 100644
index 0000000..9fb010b
--- /dev/null
+++ b/include/linux/Makefile.am
@@ -0,0 +1,7 @@
+SUBDIRS = netfilter
+noinst_HEADERS = netfilter_arp.h \
+ netfilter_bridge.h \
+ netfilter_decnet.h \
+ netfilter.h \
+ netfilter_ipv4.h \
+ netfilter_ipv6.h
diff --git a/include/linux/netfilter/Makefile.am b/include/linux/netfilter/Makefile.am
new file mode 100644
index 0000000..54b59b5
--- /dev/null
+++ b/include/linux/netfilter/Makefile.am
@@ -0,0 +1,5 @@
+noinst_HEADERS = nf_conntrack_common.h \
+ nf_conntrack_tuple_common.h \
+ nf_nat.h \
+ nf_tables.h \
+ nfnetlink.h
diff --git a/src/Makefile.am b/src/Makefile.am
index 8a6471a..0a67810 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,9 +1,19 @@
-include $(top_srcdir)/Make_global.am
-
sbin_PROGRAMS = nft
CLEANFILES = scanner.c parser_bison.c
+AM_CPPFLAGS = -I$(top_srcdir)/include
+AM_CPPFLAGS += -DDEFAULT_INCLUDE_PATH="\"${sysconfdir}\""
+ ${LIBMNL_CFLAGS} ${LIBNFTNL_CFLAGS}
+
+AM_CFLAGS = -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
+ -Waggregate-return -Wunused -Wwrite-strings
+
+
AM_YFLAGS = -d
# yacc and lex generate dirty code
--
2.1.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/1] autotools conversion fixups
2014-11-09 20:26 ` [PATCH 1/1] autotools conversion fixups giorgio.nicole
@ 2014-11-12 12:01 ` Pablo Neira Ayuso
0 siblings, 0 replies; 10+ messages in thread
From: Pablo Neira Ayuso @ 2014-11-12 12:01 UTC (permalink / raw)
To: giorgio.nicole; +Cc: netfilter-devel
On Sun, Nov 09, 2014 at 09:26:12PM +0100, giorgio.nicole@arcor.de wrote:
> From: root <root@lord_casco.spaceball>
>
> Add some missing Makefile.am's under the include directory.
>
> Now it is possible to build 'nftables' from a separate build directory
> and produce a release tar archive with a 'make distcheck'.
Thanks. I have merged this update to nftables/autotools branch:
git.netfilter.org/nftables/commit/?h=autotools&id=85035b6c6a1618e7ba726fe6306c804fc1b6c4e8
> diff --git a/autogen.sh b/autogen.sh
> index a62e737..4b6b92d 100755
> --- a/autogen.sh
> +++ b/autogen.sh
> @@ -1,4 +1,11 @@
> #!/bin/bash
>
> -autoreconf -fi;
> +srcdir=`dirname $0`
> +test -z "$srcdir" && srcdir=.
> +
> +ORIGDIR=`pwd`
> +cd $srcdir
> +
> +autoreconf -vfi || exit 1
> rm -Rf autom4te*.cache config.h.in~
> +cd $ORIGDIR || exit $?
The need for this chunk was not justified, I kept this back.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-11-12 11:59 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-06 18:25 [PATCH nft 0/5] autotools conversion Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 1/5] build: use PKG_CHECK_MODULES to check for libmnl and libnftnl Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 2/5] build: use AC_PROG_YACC and AM_PROG_LEX Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 3/5] rename parser.y to parser_bison.y Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 4/5] include: add cli.h Pablo Neira Ayuso
2014-11-06 18:25 ` [PATCH nft 5/5] build: autotools conversion Pablo Neira Ayuso
2014-11-06 20:29 ` Jan Engelhardt
2014-11-07 18:17 ` Giorgio
2014-11-09 20:26 ` [PATCH 1/1] autotools conversion fixups giorgio.nicole
2014-11-12 12:01 ` Pablo Neira Ayuso
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).