diff mbox

[U-Boot,PATCHv2] tools: use pkg-config when available to get SSL flags

Message ID 1431794175-11866-1-git-send-email-thomas.petazzoni@free-electrons.com
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Thomas Petazzoni May 16, 2015, 4:36 p.m. UTC
Instead of hardcoding -lssl -lcrypto as the flags needed to build
mkimage with FIT signature enabled, use pkg-config when
available. This allows to properly support cases where static linking
is used, which requires linking with -lz, since OpenSSL uses zlib
internally.

We gracefully fallback on the previous behavior of hardcoding -lssl
-lcrypto if pkg-config is not available or fails with an error.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Changes since v1:

 - Use both libssl and libcrypto when calling pkg-config, because some
   symbols of libcrypto are used directly by u-boot. This wasn't
   visible with static linking because -lssl -lcrypto are returned by
   pkg-config, but was visible with dynamic linking since only -lssl
   was returned by pkg-config.

 tools/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Tom Rini May 28, 2015, 1:23 p.m. UTC | #1
On Sat, May 16, 2015 at 06:36:15PM +0200, Thomas Petazzoni wrote:

> Instead of hardcoding -lssl -lcrypto as the flags needed to build
> mkimage with FIT signature enabled, use pkg-config when
> available. This allows to properly support cases where static linking
> is used, which requires linking with -lz, since OpenSSL uses zlib
> internally.
> 
> We gracefully fallback on the previous behavior of hardcoding -lssl
> -lcrypto if pkg-config is not available or fails with an error.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/tools/Makefile b/tools/Makefile
index 4bbb153..8ff9c2e 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -122,7 +122,8 @@  endif
 
 # MXSImage needs LibSSL
 ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_FIT_SIGNATURE),)
-HOSTLOADLIBES_mkimage += -lssl -lcrypto
+HOSTLOADLIBES_mkimage += \
+	$(shell pkg-config --libs libssl libcrypto 2> /dev/null || echo "-lssl -lcrypto")
 endif
 
 HOSTLOADLIBES_dumpimage := $(HOSTLOADLIBES_mkimage)