aboutsummaryrefslogtreecommitdiff
path: root/package/uboot-tools
diff options
context:
space:
mode:
authorGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-05-12 23:02:13 +0200
committerGravatar Peter Korsgaard <peter@korsgaard.com>2015-05-13 10:02:14 +0200
commit95f9a5c3df8e4226b99438efccf0bf21eecb573d (patch)
treef73b3285e8d3b2c0ab96e764f9810f493d29ac8d /package/uboot-tools
parentdaa8485bc12d44c6bf697f7a1bde488250486ea2 (diff)
downloadbuildroot-95f9a5c3df8e4226b99438efccf0bf21eecb573d.tar.gz
buildroot-95f9a5c3df8e4226b99438efccf0bf21eecb573d.tar.bz2
uboot-tools: fix static linking with OpenSSL
Add a patch to U-Boot to use pkg-config to get the OpenSSL link flags when pkg-config is available. This allows to make sure that static linking works properly. The patch requires adding $(TARGET_MAKE_ENV) so that the Buildroot provided pkg-config is used instead of the host one. The U-Boot patch has been submitted upstream. Fixes: http://autobuild.buildroot.org/results/a9f/a9f316cd076a74b8730ce4cdcdb8176da4ed9eb3/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Gergely Imreh <imrehg@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/uboot-tools')
-rw-r--r--package/uboot-tools/0004-tools-use-pkg-config-when-available-to-get-SSL-flags.patch39
-rw-r--r--package/uboot-tools/uboot-tools.mk6
2 files changed, 42 insertions, 3 deletions
diff --git a/package/uboot-tools/0004-tools-use-pkg-config-when-available-to-get-SSL-flags.patch b/package/uboot-tools/0004-tools-use-pkg-config-when-available-to-get-SSL-flags.patch
new file mode 100644
index 0000000000..db038ff29e
--- /dev/null
+++ b/package/uboot-tools/0004-tools-use-pkg-config-when-available-to-get-SSL-flags.patch
@@ -0,0 +1,39 @@
+From 7f47f7f8c1a0d634e9febad61504f095476fccc0 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 12 May 2015 22:54:29 +0200
+Subject: [PATCH] tools: use pkg-config when available to get SSL flags
+
+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.
+
+Patch submitted upstream at
+http://lists.denx.de/pipermail/u-boot/2015-May/214068.html.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ tools/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tools/Makefile b/tools/Makefile
+index 4bbb153..e1bcd59 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 2> /dev/null || echo "-lssl -lcrypto")
+ endif
+
+ HOSTLOADLIBES_dumpimage := $(HOSTLOADLIBES_mkimage)
+--
+2.1.0
+
diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk
index b66fd7168b..3ae346e210 100644
--- a/package/uboot-tools/uboot-tools.mk
+++ b/package/uboot-tools/uboot-tools.mk
@@ -16,14 +16,14 @@ define UBOOT_TOOLS_CONFIGURE_CMDS
endef
define UBOOT_TOOLS_BUILD_CMDS
- $(MAKE) -C $(@D) \
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
CROSS_COMPILE="$(TARGET_CROSS)" \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
CROSS_BUILD_TOOLS=y \
CONFIG_FIT_SIGNATURE=$(BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT) \
tools-only
- $(MAKE) -C $(@D) \
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
CROSS_COMPILE="$(TARGET_CROSS)" \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
@@ -35,7 +35,7 @@ define UBOOT_TOOLS_INSTALL_MKIMAGE
$(INSTALL) -m 0755 -D $(@D)/tools/mkimage $(TARGET_DIR)/usr/bin/mkimage
endef
ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT),y)
-UBOOT_TOOLS_DEPENDENCIES += openssl
+UBOOT_TOOLS_DEPENDENCIES += openssl host-pkgconf
endif # BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT
endif # BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE