summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2013-06-27 10:43:18 -0700
committerTom Rini <trini@ti.com>2013-06-28 16:26:52 -0400
commit29ce737d6f4a8e19cbc8c54451e72e059e4d56e7 (patch)
treeb4cfb68ecf76e4ae5674696f93e5a904205cb497
parent5ff0d0832e085fe64740e6c78e11193b048896da (diff)
downloadblackbird-obmc-uboot-29ce737d6f4a8e19cbc8c54451e72e059e4d56e7.tar.gz
blackbird-obmc-uboot-29ce737d6f4a8e19cbc8c54451e72e059e4d56e7.zip
mkimage: Build signing only if board has CONFIG_FIT_SIGNATURE
At present mkimage is set up to always build with image signing support. This means that the SSL libraries (e.g. libssl-dev) are always required. Adjust things so that mkimage can be built with and without image signing, controlled by the presence of CONFIG_FIT_SIGNATURE in the board config file. If CONFIG_FIT_SIGNATURE is not enabled, then mkimage will report a warning that signing is not supported. If the option is enabled, but libraries are not available, then a build error similar to this will be shown: lib/rsa/rsa-sign.c:26:25: fatal error: openssl/rsa.h: No such file or directory Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--config.mk6
-rw-r--r--include/image.h3
-rw-r--r--tools/Makefile2
3 files changed, 6 insertions, 5 deletions
diff --git a/config.mk b/config.mk
index 5a91203b53..81c2584216 100644
--- a/config.mk
+++ b/config.mk
@@ -96,7 +96,6 @@ HOSTCFLAGS += $(call os_x_before, 10, 4, "-traditional-cpp")
HOSTLDFLAGS += $(call os_x_before, 10, 5, "-multiply_defined suppress")
else
HOSTCC = gcc
-HOSTLIBS += -lssl -lcrypto
endif
ifeq ($(HOSTOS),cygwin)
@@ -211,6 +210,11 @@ CPPFLAGS += -ffunction-sections -fdata-sections
LDFLAGS_FINAL += --gc-sections
endif
+# TODO(sjg@chromium.org): Is this correct on Mac OS?
+ifdef CONFIG_FIT_SIGNATURE
+HOSTLIBS += -lssl -lcrypto
+endif
+
ifneq ($(CONFIG_SYS_TEXT_BASE),)
CPPFLAGS += -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE)
endif
diff --git a/include/image.h b/include/image.h
index 261491880e..a7b93dbef7 100644
--- a/include/image.h
+++ b/include/image.h
@@ -46,9 +46,6 @@ struct lmb;
#define CONFIG_OF_LIBFDT 1
#define CONFIG_FIT_VERBOSE 1 /* enable fit_format_{error,warning}() */
-/* Support FIT image signing on host */
-#define CONFIG_FIT_SIGNATURE
-
#define IMAGE_ENABLE_IGNORE 0
#define IMAGE_INDENT_STRING ""
diff --git a/tools/Makefile b/tools/Makefile
index cc912fb066..46159b23d6 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -126,7 +126,7 @@ LIBFDT_OBJ_FILES-y += fdt_strerror.o
LIBFDT_OBJ_FILES-y += fdt_wip.o
# RSA objects
-RSA_OBJ_FILES-y += rsa-sign.o
+RSA_OBJ_FILES-$(CONFIG_FIT_SIGNATURE) += rsa-sign.o
# Generated LCD/video logo
LOGO_H = $(OBJTREE)/include/bmp_logo.h
OpenPOWER on IntegriCloud