On Tue, 2019-05-07 at 16:17 +0100, Bruce Richardson wrote: > On Tue, May 07, 2019 at 02:28:11PM +0100, Luca Boccassi wrote: > > On Tue, 2019-05-07 at 11:50 +0100, Bruce Richardson wrote: > > > On Tue, May 07, 2019 at 11:09:51AM +0100, Luca Boccassi wrote: > > > > On Fri, 2019-05-03 at 14:35 +0100, Bruce Richardson wrote: > > > > > For testing of DPDK, we want to override the prefix given by > > > > > the > > > > > pkg-config file, so that we can get correct paths for DPDK > > > > > installed > > > > > in an unusual location. > > > > > > > > > > Signed-off-by: Bruce Richardson < > > > > > bruce.richard...@intel.com > > > > > > > > > > > > > > > > > > > > --- > > > > > examples/bbdev_app/Makefile | 13 +++++++++---- > > > > > examples/bond/Makefile | 13 +++++++++---- > > > > > examples/cmdline/Makefile | 13 +++++++++---- > > > > > examples/distributor/Makefile | 13 +++++++++---- > > > > > examples/eventdev_pipeline/Makefile | 13 +++++++++---- > > > > > examples/exception_path/Makefile | 13 +++++++++---- > > > > > examples/fips_validation/Makefile | 13 +++++++++---- > > > > > examples/flow_classify/Makefile | 13 +++++++++---- > > > > > examples/flow_filtering/Makefile | 13 +++++++++---- > > > > > examples/helloworld/Makefile | 13 +++++++++---- > > > > > examples/ip_fragmentation/Makefile | 13 +++++++++---- > > > > > examples/ip_pipeline/Makefile | 13 +++++++++---- > > > > > examples/ip_reassembly/Makefile | 13 +++++++++---- > > > > > examples/ipsec-secgw/Makefile | 13 +++++++++---- > > > > > examples/ipv4_multicast/Makefile | 13 +++++++++---- > > > > > examples/kni/Makefile | 13 +++++++++---- > > > > > examples/l2fwd-cat/Makefile | 13 +++++++++---- > > > > > examples/l2fwd-crypto/Makefile | 13 +++++++++---- > > > > > examples/l2fwd-jobstats/Makefile | 13 +++++++++---- > > > > > examples/l2fwd-keepalive/Makefile | 13 +++++++++---- > > > > > examples/l2fwd/Makefile | 13 +++++++++---- > > > > > examples/l3fwd-acl/Makefile | 13 +++++++++---- > > > > > examples/l3fwd-power/Makefile | 13 +++++++++---- > > > > > examples/l3fwd-vf/Makefile | 13 +++++++++---- > > > > > examples/l3fwd/Makefile | 13 +++++++++---- > > > > > examples/link_status_interrupt/Makefile | 13 +++++++++---- > > > > > examples/load_balancer/Makefile | 13 +++++++++---- > > > > > examples/packet_ordering/Makefile | 13 +++++++++---- > > > > > examples/ptpclient/Makefile | 13 +++++++++---- > > > > > examples/qos_meter/Makefile | 13 +++++++++---- > > > > > examples/qos_sched/Makefile | 13 +++++++++---- > > > > > examples/rxtx_callbacks/Makefile | 13 +++++++++---- > > > > > examples/service_cores/Makefile | 13 +++++++++---- > > > > > examples/skeleton/Makefile | 13 +++++++++---- > > > > > examples/tep_termination/Makefile | 13 +++++++++---- > > > > > examples/timer/Makefile | 13 +++++++++---- > > > > > examples/vhost/Makefile | 13 +++++++++---- > > > > > examples/vhost_scsi/Makefile | 13 +++++++++---- > > > > > examples/vmdq/Makefile | 13 +++++++++---- > > > > > examples/vmdq_dcb/Makefile | 13 +++++++++---- > > > > > 40 files changed, 360 insertions(+), 160 deletions(-) > > > > > > > > > > diff --git a/examples/bbdev_app/Makefile > > > > > b/examples/bbdev_app/Makefile > > > > > index e8115b46a..603932ace 100644 > > > > > --- a/examples/bbdev_app/Makefile > > > > > +++ b/examples/bbdev_app/Makefile > > > > > @@ -18,10 +18,15 @@ shared: build/$(APP)-shared > > > > > static: build/$(APP)-static > > > > > ln -sf $(APP)-static build/$(APP) > > > > > > > > > > -PC_FILE := $(shell pkg-config --path libdpdk) > > > > > -CFLAGS += -O3 $(shell pkg-config --cflags libdpdk) > > > > > -LDFLAGS_SHARED = $(shell pkg-config --libs libdpdk) > > > > > -LDFLAGS_STATIC = -Wl,-Bstatic $(shell pkg-config --static -- > > > > > libs > > > > > libdpdk) > > > > > +PKGCONF=pkg-config > > > > > +ifneq ($(DPDK_PC_PREFIX),) > > > > > + PKGCONF += --define-variable=prefix=$(DPDK_PC_PREFIX) > > > > > +endif > > > > > + > > > > > +PC_FILE := $(shell $(PKGCONF) --path libdpdk) > > > > > +CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) > > > > > +LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) > > > > > +LDFLAGS_STATIC = -Wl,-Bstatic $(shell $(PKGCONF) --static -- > > > > > libs > > > > > libdpdk) > > > > > > > > > > CFLAGS += -DALLOW_EXPERIMENTAL_API > > > > > > > > Hi, > > > > > > > > Would using "--define-prefix" allow to avoid the special-sauced > > > > DPDK_PC_PREFIX variable? > > > > > > > > -- > > > > > > Perhaps I'm missing something, but I'm not seeing how, since the > > > code > > > above > > > is already using the --define-variable flag. Swapping one pkg- > > > config > > > flag > > > for another isn't likely to change the flow. Whatever way things > > > work, we > > > need an environment variable to pull in the path change. Since > > > one > > > doesn't > > > seem to be available for pkg-config directly, we need a DPDK > > > special- > > > sauced > > > one. > > > > > > /Bruce > > > > I think PKG_CONFIG_PATH is a more common and more well-understood > > flag > > to use - using define-prefix should allow to use that instead > > > > Yes, except pkg-config-path only gives the path to the pkg-config > file, it > doesn't affect the prefixes in the file itself, and it's the latter > we need > to modify.
Using --define-prefix will automatically adjust the prefixes based on the path: $ grep prefix /tmp/test/usr/local/lib/x86_64-linux-gnu/pkgconfig/libdpdk.pc prefix=/usr/local libdir=${prefix}/lib/x86_64-linux-gnu includedir=${prefix}/include $ PKG_CONFIG_PATH=/tmp/test/usr/local/lib/x86_64-linux-gnu/pkgconfig pkg-config --cflags --libs libdpdk -include rte_config.h -march=native -I/usr/local/include -I/usr/include/libnl3 -L/usr/local/lib/x86_64-linux-gnu -lrte_telemetry -lrte_bpf -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_ring -lrte_cmdline -lrte_eal -lrte_kvargs $ PKG_CONFIG_PATH=/tmp/test/usr/local/lib/x86_64-linux-gnu/pkgconfig pkg-config --define-prefix --cflags --libs libdpdk -include rte_config.h -march=native -I/tmp/test/usr/local/lib/include -I/usr/lib/include -I/usr/lib/include/libnl3 -I/usr/lib/include -L/tmp/test/usr/local/lib/lib/x86_64-linux-gnu -lrte_telemetry -lrte_bpf -lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder -lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_pci -lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_ring -lrte_cmdline -lrte_eal -lrte_kvargs -- Kind regards, Luca Boccassi