X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp.am;h=1c95949aa3a01499fe0221f3504d988aaddb3438;hb=eb46754ef6b3efd958a11ea2f0b110eb99ce3b27;hp=a02206f83b11319cd1b129a528783c3970968541;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vpp.am b/src/vpp.am index a02206f83b1..1c95949aa3a 100644 --- a/src/vpp.am +++ b/src/vpp.am @@ -28,7 +28,9 @@ bin_vpp_SOURCES += \ if WITH_APICLI bin_vpp_SOURCES += \ vpp/api/api_format.c \ - vpp/api/api_main.c + vpp/api/api_main.c \ + vpp/api/plugin.c \ + vpp/api/plugin.h endif # comment out to disable stats upload to gmond @@ -44,70 +46,46 @@ nobase_include_HEADERS += \ API_FILES += vpp/api/vpe.api -BUILT_SOURCES += vpp/app/version.h +BUILT_SOURCES += .version vpp/app/version.o: vpp/app/version.h -.PHONY: vpp/app/version.h +.PHONY: .version -vpp/app/version.h: - @echo " VERSION " $@ - @echo "#define VPP_BUILD_DATE \"$$(date)\"" > $@ - @echo "#define VPP_BUILD_USER \"$$(whoami)\"" >> $@ - @echo "#define VPP_BUILD_HOST \"$$(hostname)\"" >> $@ - @echo "#define VPP_BUILD_TOPDIR \"$$(git rev-parse --show-toplevel)\"" >> $@ - @echo "#define VPP_BUILD_VER \"$$(../../scripts/version)\"" >> $@ +VPP_VERSION = $(shell $(srcdir)/scripts/version) -# Generate a plugin configuration script. Misconfiguring a -# plugin can cause very subtle problems. +VPP_BUILD_DATE ?= $$(date) +VPP_BUILD_USER ?= $$(whoami) +VPP_BUILD_HOST ?= $$(hostname) -bin_SCRIPTS = vpp_plugin_configure +# update version.h only when version changes, to avoid +# unnecessary re-linking of vpp binary -BUILT_SOURCES += vpp_plugin_configure - -.PHONY: vpp_plugin_configure - -if WITH_DPDK -PLUGIN_DPDK_ARG="--with-dpdk" -else -PLUGIN_DPDK_ARG="" -endif - -vpp_plugin_configure: - @echo "PLUGIN CONFIGURE " $@ - @echo "#!/bin/bash" > $@ - @echo " " >> $@ - @echo "set +eu" >> $@ - @echo " " >> $@ - @echo "if [ -f ./configure ] ; then" >> $@ - @echo " CFLAGS='$(CFLAGS) $(AM_CFLAGS) -I/usr/include/vpp-dpdk' ./configure --with-plugin-toolkit $(PLUGIN_DPDK_ARG)" >> $@ - @echo "else" >> $@ - @echo " if [ -f ../configure ] ; then" >> $@ - @echo " CFLAGS='$(CFLAGS) $(AM_CFLAGS) -I/usr/include/vpp-dpdk' ../configure --with-plugin-toolkit $(PLUGIN_DPDK_ARG)" >> $@ - @echo " else" >> $@ - @echo " echo Couldnt find ./configure or ../configure " >> $@ - @echo " exit 1" >> $@ - @echo " fi" >> $@ - @echo "fi" >> $@ +.version: + @if [ "$$(cat .version 2> /dev/null)" != "$(VPP_VERSION)" ] ; then \ + f="vpp/app/version.h" ;\ + echo " VERSION $$f ($(VPP_VERSION))" ;\ + echo $(VPP_VERSION) > .version ;\ + echo "#define VPP_BUILD_DATE \"$(VPP_BUILD_DATE)\"" > $$f ;\ + echo "#define VPP_BUILD_USER \"$(VPP_BUILD_USER)\"" >> $$f ;\ + echo "#define VPP_BUILD_HOST \"$(VPP_BUILD_HOST)\"" >> $$f ;\ + echo -n "#define VPP_BUILD_TOPDIR " >> $$f ;\ + echo "\"$$(cd $(srcdir) && git rev-parse --show-toplevel)\"" >> $$f ;\ + echo "#define VPP_BUILD_VER \"$(VPP_VERSION)\"" >> $$f ;\ + fi bin_vpp_LDADD = \ - libvlibapi.la \ libvlibmemory.la \ - libvlib_unix.la \ libvlib.la \ libvnet.la \ libsvm.la \ libsvmdb.la \ - libvnetplugin.la \ - -lrt - -bin_vpp_LDFLAGS = $(DPDK_LD_FLAGS) -bin_vpp_LDADD += libvppinfra.la -lm -lpthread -ldl $(DPDK_LD_ADD) + libvppinfra.la \ + -lrt -lm -lpthread -ldl -if WITH_IPV6SR - bin_vpp_LDADD += -lcrypto -endif +bin_vpp_LDFLAGS = -Wl,--export-dynamic +if ENABLE_TESTS noinst_PROGRAMS += bin/test_client bin_test_client_SOURCES = \ @@ -115,7 +93,6 @@ bin_test_client_SOURCES = \ bin_test_client_LDADD = \ libvlibmemoryclient.la \ - libvlibapi.la \ libsvm.la \ libvppinfra.la \ -lpthread -lm -lrt @@ -127,11 +104,10 @@ bin_test_ha_SOURCES = \ bin_test_ha_LDADD = \ libvlibmemoryclient.la \ - libvlibapi.la \ - libsvmdb.la \ libsvm.la \ libvppinfra.la \ -lpthread -lm -lrt +endif noinst_PROGRAMS += bin/summary_stats_client @@ -140,7 +116,6 @@ bin_summary_stats_client_SOURCES = \ bin_summary_stats_client_LDADD = \ libvlibmemoryclient.la \ - libvlibapi.la \ libsvm.la \ libvppinfra.la \ -lpthread -lm -lrt @@ -156,4 +131,6 @@ bin_vpp_get_metrics_LDADD = \ libvppinfra.la \ -lpthread -lm -lrt +CLEANFILES += vpp/app/version.h + # vi:syntax=automake