[dpdk-dev,1/4] Link combined shared library using CC
Commit Message
It adds override definition of LD when linking using CC.
Also it adds muldefs option to the linker when building shared libraries
(same as building individual libraries).
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
---
mk/rte.sharelib.mk | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
@@ -40,12 +40,20 @@ LIB_ONE := lib$(RTE_LIBNAME).a
endif
endif
+ifeq ($(LINK_USING_CC),1)
+# Override the definition of LD here, since we're linking with CC
+LD := $(CC)
+LD_MULDEFS := $(call linkerprefix,-z$(comma)muldefs)
+CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS))
+endif
+
.PHONY:sharelib
sharelib: $(LIB_ONE) FORCE
OBJS = $(wildcard $(RTE_OUTPUT)/build/lib/*.o)
-O_TO_S = $(LD) $(CPU_LDFLAGS) -shared $(OBJS) -o $(RTE_OUTPUT)/lib/$(LIB_ONE)
+O_TO_S = $(LD) $(CPU_LDFLAGS) $(LD_MULDEFS) -shared $(OBJS)\
+ -o $(RTE_OUTPUT)/lib/$(LIB_ONE)
O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)"," LD $(@)")
O_TO_S_CMD = "cmd_$@ = $(O_TO_S_STR)"