diff options
author | Petr Štetiar <ynezz@true.cz> | 2019-07-24 14:00:39 +0000 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2019-07-27 07:13:59 +0200 |
commit | 94e9084e1ee586fed993896c71a4327518987152 (patch) | |
tree | 05274fe5c7f45ab76c6e03f5fcac83a06d4ba376 /package/boot | |
parent | 0a64b70e4e95d585df3ef79d04cc6e48c8919d7c (diff) | |
download | upstream-94e9084e1ee586fed993896c71a4327518987152.tar.gz upstream-94e9084e1ee586fed993896c71a4327518987152.tar.bz2 upstream-94e9084e1ee586fed993896c71a4327518987152.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>
(cherry picked from commit b8249cef9fedb1e2e3ed4f1b16382c6815e08df1)
Diffstat (limited to 'package/boot')
-rw-r--r-- | package/boot/tfa-layerscape/Makefile | 19 | ||||
-rw-r--r-- | package/boot/tfa-layerscape/patches/001-fiptool-hostbuild-fixes.patch | 71 |
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} |