aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2019-07-24 14:00:39 +0000
committerPetr Štetiar <ynezz@true.cz>2019-07-25 07:48:10 +0200
commitb8249cef9fedb1e2e3ed4f1b16382c6815e08df1 (patch)
tree18b878e2e3d9e577e1fac00cbb91e559e945bce1
parentfe928c7a81810fd84210a5e9594b7fa8ce1064ce (diff)
downloadupstream-b8249cef9fedb1e2e3ed4f1b16382c6815e08df1.tar.gz
upstream-b8249cef9fedb1e2e3ed4f1b16382c6815e08df1.tar.bz2
upstream-b8249cef9fedb1e2e3ed4f1b16382c6815e08df1.zip
tfa-layerscape: fix fiptool host build
fiptool is a host tool, used in a firmware generation pipeline, but it's not treated as such, leading to the build breakage on the hosts which don't have {Open,Libre}SSL dev package installed: In file included from fiptool.h:16:0, from fiptool.c:19: fiptool_platform.h:18:27: fatal error: openssl/sha.h: No such file or directory # include <openssl/sha.h> So this patch promotes fiptool into the host tool with proper host include and library paths under STAGING_DIR. Ref: https://github.com/openwrt/openwrt/pull/2267 Signed-off-by: Petr Štetiar <ynezz@true.cz>
-rw-r--r--package/boot/tfa-layerscape/Makefile19
-rw-r--r--package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch71
2 files changed, 88 insertions, 2 deletions
diff --git a/package/boot/tfa-layerscape/Makefile b/package/boot/tfa-layerscape/Makefile
index 4f1c709fc6..8d62fbcf61 100644
--- a/package/boot/tfa-layerscape/Makefile
+++ b/package/boot/tfa-layerscape/Makefile
@@ -16,8 +16,9 @@ PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/at
PKG_SOURCE_VERSION:=7e34aebe658c7c3439d2d68b0ce6b9776e8e6996
PKG_MIRROR_HASH:=9cf0bc32fa589a0ee7c48c87898679e645341f29da1253d0ba5d2e82c6ea074d
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_BUILD_DEPENDS:=uboot-layerscape
+PKG_BUILD_DEPENDS:=uboot-layerscape tfa-layerscape/host
+include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
define Package/tfa-layerscape/Config
@@ -46,7 +47,20 @@ define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) \
fip pbl PLAT=$(PLAT) BOOT_MODE=$(BOOT_MODE) \
RCW=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-rcw.bin \
- BL33=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-uboot.bin
+ BL33=$(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-uboot.bin \
+ FIPTOOL=$(STAGING_DIR_HOST)/bin/fiptool
+endef
+
+HOST_CFLAGS += -Wall -Werror -pedantic -std=c99
+define Host/Compile
+ $(MAKE) -C \
+ $(HOST_BUILD_DIR)/tools/fiptool \
+ CFLAGS="$(HOST_CFLAGS)" \
+ LDFLAGS="$(HOST_LDFLAGS)"
+endef
+
+define Host/Install
+ $(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/
endef
define Package/tfa-layerscape/ls1012ardb
@@ -132,6 +146,7 @@ TFAS := \
ls1088ardb-sdboot \
ls2088ardb
+$(eval $(call HostBuild))
$(foreach tfa,$(TFAS), \
$(eval $(Package/tfa-layerscape/$(tfa))) \
$(eval $(call Package/tfa-layerscape/Config,$(tfa),$(TITLE),$(BIN_BL2),$(BIN_FIP))) \
diff --git a/package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch b/package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch
new file mode 100644
index 0000000000..0567e5869b
--- /dev/null
+++ b/package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch
@@ -0,0 +1,71 @@
+--- a/Makefile
++++ b/Makefile
+@@ -448,10 +448,6 @@ endif
+ CRTTOOLPATH ?= tools/cert_create
+ CRTTOOL ?= ${CRTTOOLPATH}/cert_create${BIN_EXT}
+
+-# Variables for use with Firmware Image Package
+-FIPTOOLPATH ?= tools/fiptool
+-FIPTOOL ?= ${FIPTOOLPATH}/fiptool${BIN_EXT}
+-
+ ################################################################################
+ # Include BL specific makefiles
+ ################################################################################
+@@ -661,14 +657,12 @@ endif
+ clean:
+ @echo " CLEAN"
+ $(call SHELL_REMOVE_DIR,${BUILD_PLAT})
+- ${Q}${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean
+ ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean
+
+ realclean distclean:
+ @echo " REALCLEAN"
+ $(call SHELL_REMOVE_DIR,${BUILD_BASE})
+ $(call SHELL_DELETE_ALL, ${CURDIR}/cscope.*)
+- ${Q}${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean
+ ${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean
+
+ checkcodebase: locate-checkpatch
+@@ -717,7 +711,7 @@ certificates: ${CRT_DEPS} ${CRTTOOL}
+ @${ECHO_BLANK_LINE}
+ endif
+
+-${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS} ${FIPTOOL}
++${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS}
+ ${Q}${FIPTOOL} create ${FIP_ARGS} $@
+ ${Q}${FIPTOOL} info $@
+ @${ECHO_BLANK_LINE}
+@@ -733,21 +727,16 @@ fwu_certificates: ${FWU_CRT_DEPS} ${CRTT
+ @${ECHO_BLANK_LINE}
+ endif
+
+-${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS} ${FIPTOOL}
++${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS}
+ ${Q}${FIPTOOL} create ${FWU_FIP_ARGS} $@
+ ${Q}${FIPTOOL} info $@
+ @${ECHO_BLANK_LINE}
+ @echo "Built $@ successfully"
+ @${ECHO_BLANK_LINE}
+
+-fiptool: ${FIPTOOL}
+ fip: ${BUILD_PLAT}/${FIP_NAME}
+ fwu_fip: ${BUILD_PLAT}/${FWU_FIP_NAME}
+
+-.PHONY: ${FIPTOOL}
+-${FIPTOOL}:
+- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${FIPTOOLPATH}
+-
+ cscope:
+ @echo " CSCOPE"
+ ${Q}find ${CURDIR} -name "*.[chsS]" > cscope.files
+--- a/tools/fiptool/Makefile
++++ b/tools/fiptool/Makefile
+@@ -37,7 +37,7 @@ all: ${PROJECT} fip_create
+
+ ${PROJECT}: ${OBJECTS} Makefile
+ @echo " LD $@"
+- ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS}
++ ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} $(LDFLAGS)
+ @${ECHO_BLANK_LINE}
+ @echo "Built $@ successfully"
+ @${ECHO_BLANK_LINE}