More janitorial work

Install vpp api header files in /usr/include/vpp-api, instead of
/usr/include/api. Someone will eventually complain if we continue with
the status quo.

Generate /usr/bin/vpp_plugin_configure, to correctly configure
standalone plugin compilation against header files installed from the
dev package.

If a plugin's CFLAGS don't precisely match the installed vpp engine
binary, subtle misbehavior can and will occur. Example: the ip4/ip6
main_t structure size / member offsets depend on DPDK=[0|1]. Screw
that one up, and your brand-new configurable ip feature will
mysteriously fail to appear, even though the plugin loads perfectly.

Change-Id: I20c97fe1042808a79935863209d995c31953b98c
Signed-off-by: Dave Barach <dave@barachs.net>
This commit is contained in:
Dave Barach
2016-06-27 09:25:13 -04:00
committed by Keith Burns (alagalah)
parent 20c90f765d
commit aa6920e0a8
21 changed files with 98 additions and 138 deletions

View File

@ -33,11 +33,11 @@ libpneum_la_CPPFLAGS =
BUILT_SOURCES += vpp_papi.py
vpp_papi.py: $(prefix)/../vpp/api/vpe.api pneum/api-gen.py
vpp_papi.py: $(prefix)/../vpp/vpp-api/vpe.api pneum/api-gen.py
@echo " PYTHON API"; \
$(CC) $(CPPFLAGS) -E -P -C -x c $< \
| vppapigen --input - --python defs_$@; \
echo "#include <api/vpe_msg_enum.h>" \
echo "#include <vpp-api/vpe_msg_enum.h>" \
| $(CC) $(CPPFLAGS) -E -P -x c - | grep VL_API \
| @srcdir@/pneum/api-gen.py -i defs_$@ > @srcdir@/vpp_papi/$@

View File

@ -31,16 +31,16 @@
#include <vlibapi/api.h>
#include <vlibmemory/api.h>
#include <api/vpe_msg_enum.h>
#include <vpp-api/vpe_msg_enum.h>
#include "pneum.h"
#define vl_typedefs /* define message structures */
#include <api/vpe_all_api_h.h>
#include <vpp-api/vpe_all_api_h.h>
#undef vl_typedefs
#define vl_endianfun /* define message structures */
#include <api/vpe_all_api_h.h>
#include <vpp-api/vpe_all_api_h.h>
#undef vl_endianfun
typedef struct {
@ -63,7 +63,7 @@ void vlib_cli_output (struct vlib_main_t * vm, char * fmt, ...)
}
#define vl_api_version(n,v) static u32 vpe_api_version = v;
#include <api/vpe.api.h>
#include <vpp-api/vpe.api.h>
#undef vl_api_version
void
vl_client_add_api_signatures (vl_api_memclnt_create_t *mp)

View File

@ -36,13 +36,13 @@
#include <vlibmemory/api.h>
#include <vnet/ip/ip.h>
#include <api/vpe_msg_enum.h>
#include <vpp-api/vpe_msg_enum.h>
#include <signal.h>
#include <setjmp.h>
#include "pneum.h"
#define vl_typedefs /* define message structures */
#include <api/vpe_all_api_h.h>
#include <vpp-api/vpe_all_api_h.h>
#undef vl_typedefs
volatile int sigterm_received = 0;