I would prefer to follow this approach to support deprecated features (for few more releases providing the opportunity for the application to change) between different versions of ODP rather than having --enable-deprecated. This feature will allow for structure definitions also to differ.
On 10 November 2017 at 04:22, Maxim Uvarov <maxim.uva...@linaro.org> wrote: > I see that dpdk started to support abi versions in following ways: > > DPDK_2.0 { > global: > > rte_jobstats_context_finish; > rte_jobstats_context_init; > ..... > rte_jobstats_set_update_period_function; > rte_jobstats_start; > > local: *; > }; > > DPDK_16.04 { > global: > > rte_jobstats_abort; > > } DPDK_2.0; > > ./dpdk/lib/librte_jobstats/Makefile:EXPORT_MAP := rte_jobstats_version.map > ./dpdk/mk/rte.lib.mk:CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP) > > I.e. they describe in .map file which functions to expert and what ABI/API > level they are. > We can use something the same. But I'm not big fun of manually writing such > files. And maybe maintain different ABI versions in one source is not a > good idea. But we can try to generate .map and filter out all not "odp_" > functions, then specify this .map to linked. > > Maxim.