diff options
-rw-r--r-- | VNFs/DPPD-PROX/Makefile | 26 | ||||
-rw-r--r-- | VNFs/DPPD-PROX/input_curses.c | 9 |
2 files changed, 34 insertions, 1 deletions
diff --git a/VNFs/DPPD-PROX/Makefile b/VNFs/DPPD-PROX/Makefile index fe8e87da..b6cc603a 100644 --- a/VNFs/DPPD-PROX/Makefile +++ b/VNFs/DPPD-PROX/Makefile @@ -174,8 +174,10 @@ SRCS-y += handle_ipv6_tunnel.c SRCS-y += handle_read.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += handle_esp.c ifneq ($(CONFIG_RTE_LIBRTE_PMD_AESNI_MB),y) +ifeq ($(FIRST_PROX_MAKE),) $(warning "Building w/o IPSEC support") endif +endif SRCS-y += handle_cgnat.c SRCS-y += handle_nat.c SRCS-y += handle_dump.c @@ -209,11 +211,33 @@ ifeq ($(FIRST_PROX_MAKE),) MAKEFLAGS += --no-print-directory FIRST_PROX_MAKE = 1 export FIRST_PROX_MAKE -all: +all: libedit_autoconf.h @./helper-scripts/trailing.sh @$(MAKE) $@ +clean: + $(Q) $(RM) -- 'libedit_autoconf.h' + @$(MAKE) $@ %:: @$(MAKE) $@ + +ifeq ($(call rte_ver_LT,17,2,0,0),y) +AUTO-CONFIG-SCRIPT = $(RTE_SDK)/scripts/auto-config-h.sh +else +AUTO-CONFIG-SCRIPT = $(RTE_SDK)/buildtools/auto-config-h.sh +endif + +# DPDK CFLAGS prevents auto-conf program to properly compile +export CFLAGS= +# if el_rfunc_t exists, define HAVE_LIBEDIT_EL_RFUNC_T so that PROX knows it can use it +libedit_autoconf.h: $(AUTO-CONFIG-SCRIPT) + $(Q) $(RM) -- '$@' + $(Q) sh -- '$(AUTO-CONFIG-SCRIPT)' '$@' \ + HAVE_LIBEDIT_EL_RFUNC_T \ + histedit.h \ + type 'el_rfunc_t' \ + > /dev/null +# auto-conf adds empty line at the end of the file, considered as error by trailing.sh script + $(Q) sed -i '$$ d' '$@' else include $(RTE_SDK)/mk/rte.extapp.mk endif diff --git a/VNFs/DPPD-PROX/input_curses.c b/VNFs/DPPD-PROX/input_curses.c index 6f79869b..4ea2e4a8 100644 --- a/VNFs/DPPD-PROX/input_curses.c +++ b/VNFs/DPPD-PROX/input_curses.c @@ -27,6 +27,7 @@ #include "cmd_parser.h" #include "input_curses.h" #include "histedit.h" +#include "libedit_autoconf.h" static EditLine *el; static History *hist; @@ -124,7 +125,11 @@ static int peek_stdin(void) return FD_ISSET(fileno(stdin), &in_fd); } +#ifdef HAVE_LIBEDIT_EL_RFUNC_T +static int do_get_char(EditLine *e, wchar_t *c) +#else static int get_char(EditLine *e, char *c) +#endif { *c = display_getch(); @@ -167,6 +172,10 @@ static int get_char(EditLine *e, char *c) return 1; } +#ifdef HAVE_LIBEDIT_EL_RFUNC_T +static el_rfunc_t get_char = &do_get_char; +#endif + static void proc_keyboard(struct input *input) { const char *line; |