From 4f213197efbe9851f6abcf61d853f870356423ea Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Sat, 25 Jun 2016 00:25:01 +0200 Subject: [PATCH] mk: fix external dependencies of crypto drivers When linking drivers as shared libraries, the dependencies need to be marked as DT_NEEDED entries. The crypto dependencies (libsso and libIPSec) are static libraries. To make them linked in the shared PMDs, the code must relocatable: - libIPSec_MB.a must be built with -fPIC - libsso_kasumi.a must be built with KASUMI_CFLAGS=-DKASUMI_C Fixes: 924e84f87306 ("aesni_mb: add driver for multi buffer based crypto") Fixes: eec136f3c54f ("aesni_gcm: add driver for AES-GCM crypto operations") Fixes: 3aafc423cf4d ("snow3g: add driver for SNOW 3G library") Fixes: 2773c86d061a ("crypto/kasumi: add driver for KASUMI library") Signed-off-by: Thomas Monjalon --- drivers/crypto/aesni_gcm/Makefile | 3 ++- drivers/crypto/aesni_mb/Makefile | 3 ++- drivers/crypto/kasumi/Makefile | 3 ++- drivers/crypto/snow3g/Makefile | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/aesni_gcm/Makefile b/drivers/crypto/aesni_gcm/Makefile index ab5d2ede2c..5898cae123 100644 --- a/drivers/crypto/aesni_gcm/Makefile +++ b/drivers/crypto/aesni_gcm/Makefile @@ -49,9 +49,10 @@ LIBABIVER := 1 # versioning export map EXPORT_MAP := rte_pmd_aesni_gcm_version.map -# external library include paths +# external library dependencies CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH) CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH)/include +LDLIBS += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB LDLIBS += -lcrypto # library source files diff --git a/drivers/crypto/aesni_mb/Makefile b/drivers/crypto/aesni_mb/Makefile index 348a8bd97d..d3994cc632 100644 --- a/drivers/crypto/aesni_mb/Makefile +++ b/drivers/crypto/aesni_mb/Makefile @@ -49,9 +49,10 @@ LIBABIVER := 1 # versioning export map EXPORT_MAP := rte_pmd_aesni_version.map -# external library include paths +# external library dependencies CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH) CFLAGS += -I$(AESNI_MULTI_BUFFER_LIB_PATH)/include +LDLIBS += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB # library source files SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd.c diff --git a/drivers/crypto/kasumi/Makefile b/drivers/crypto/kasumi/Makefile index 72b1ca4b75..9fb0be8576 100644 --- a/drivers/crypto/kasumi/Makefile +++ b/drivers/crypto/kasumi/Makefile @@ -49,10 +49,11 @@ LIBABIVER := 1 # versioning export map EXPORT_MAP := rte_pmd_kasumi_version.map -# external library include paths +# external library dependencies CFLAGS += -I$(LIBSSO_KASUMI_PATH) CFLAGS += -I$(LIBSSO_KASUMI_PATH)/include CFLAGS += -I$(LIBSSO_KASUMI_PATH)/build +LDLIBS += -L$(LIBSSO_KASUMI_PATH)/build -lsso_kasumi # library source files SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd.c diff --git a/drivers/crypto/snow3g/Makefile b/drivers/crypto/snow3g/Makefile index 582907f7de..bea6760b3b 100644 --- a/drivers/crypto/snow3g/Makefile +++ b/drivers/crypto/snow3g/Makefile @@ -49,10 +49,11 @@ LIBABIVER := 1 # versioning export map EXPORT_MAP := rte_pmd_snow3g_version.map -# external library include paths +# external library dependencies CFLAGS += -I$(LIBSSO_SNOW3G_PATH) CFLAGS += -I$(LIBSSO_SNOW3G_PATH)/include CFLAGS += -I$(LIBSSO_SNOW3G_PATH)/build +LDLIBS += -L$(LIBSSO_SNOW3G_PATH)/build -lsso_snow3g # library source files SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd.c -- 2.20.1