mk: use the env shared lib when linking apps
Previously, aplications were always being linked against the spdk_env_dpdk.a file even during the shared object build. Change this to be consistent with our linking. Also, the old behavior causes issues with resolving symbols in FreeBSD. Change-Id: I96e2e6044c16e7579cff35ad46e3688ce6fa2b5a Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464733 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
e29c6fe133
commit
8f71ab3a2b
@ -114,7 +114,11 @@ DPDK_LIB = $(DPDK_LIB_LIST:%=$(DPDK_ABS_DIR)/lib/lib%$(DPDK_LIB_EXT))
|
|||||||
# SPDK memory registration requires experimental (deprecated) rte_memory API for DPDK 18.05
|
# SPDK memory registration requires experimental (deprecated) rte_memory API for DPDK 18.05
|
||||||
ENV_CFLAGS = $(DPDK_INC) -Wno-deprecated-declarations
|
ENV_CFLAGS = $(DPDK_INC) -Wno-deprecated-declarations
|
||||||
ENV_CXXFLAGS = $(ENV_CFLAGS)
|
ENV_CXXFLAGS = $(ENV_CFLAGS)
|
||||||
|
ifeq ($(CONFIG_SHARED),y)
|
||||||
|
ENV_DPDK_FILE = $(call spdk_lib_list_to_shared_libs,env_dpdk)
|
||||||
|
else
|
||||||
ENV_DPDK_FILE = $(call spdk_lib_list_to_static_libs,env_dpdk)
|
ENV_DPDK_FILE = $(call spdk_lib_list_to_static_libs,env_dpdk)
|
||||||
|
endif
|
||||||
ENV_LIBS = $(ENV_DPDK_FILE) $(DPDK_LIB)
|
ENV_LIBS = $(ENV_DPDK_FILE) $(DPDK_LIB)
|
||||||
ENV_LINKER_ARGS = $(ENV_DPDK_FILE) -Wl,--whole-archive,--no-as-needed $(DPDK_LIB) -Wl,--no-whole-archive
|
ENV_LINKER_ARGS = $(ENV_DPDK_FILE) -Wl,--whole-archive,--no-as-needed $(DPDK_LIB) -Wl,--no-whole-archive
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user