diff --git a/boot/bootutil/zephyr/CMakeLists.txt b/boot/bootutil/zephyr/CMakeLists.txt index efdbf601..72a6a863 100644 --- a/boot/bootutil/zephyr/CMakeLists.txt +++ b/boot/bootutil/zephyr/CMakeLists.txt @@ -17,27 +17,12 @@ zephyr_library_sources( ../src/bootutil_public.c ) -if(CONFIG_BOOT_IMAGE_ACCESS_HOOKS) - if(NOT CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE STREQUAL "") - if(IS_ABSOLUTE ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE}) - if(EXISTS ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE}) - set(HOOKS_FILE ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE}) - endif() - elseif((DEFINED CONF_DIR) AND - (EXISTS ${CONF_DIR}/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})) - set(HOOKS_FILE ${CONF_DIR}/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE}) - else(EXISTS ${APPLICATION_SOURCE_DIR}/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE}) - set(HOOKS_FILE ${APPLICATION_SOURCE_DIR}/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE}) - endif() - endif() - - if(DEFINED HOOKS_FILE) - zephyr_library_sources( - ${HOOKS_FILE} - ) - else() - message(STATUS "No hooks implementation file.") - endif() +# Sensitivity to the TEST_BOOT_IMAGE_ACCESS_HOOKS define is implemented for +# allowing the test-build with the hooks feature enabled. +if(TEST_BOOT_IMAGE_ACCESS_HOOKS) + zephyr_library_sources( + ${APPLICATION_SOURCE_DIR}/hooks_sample.c + ) endif() zephyr_library_link_libraries(MCUBOOT_BOOTUTIL) diff --git a/boot/zephyr/Kconfig b/boot/zephyr/Kconfig index c61c6b72..3d370a17 100644 --- a/boot/zephyr/Kconfig +++ b/boot/zephyr/Kconfig @@ -569,18 +569,8 @@ config BOOT_IMAGE_ACCESS_HOOKS help Allow to provide procedures for override or extend native MCUboot's routines required for access the image data and the image - update. - -config BOOT_IMAGE_ACCESS_HOOKS_FILE - string "Hooks implementation file path" - depends on BOOT_IMAGE_ACCESS_HOOKS - help - Path to the file which implements hooks. - You can use either absolute or relative path. - In case relative path is used, the build system assumes that it starts - from the directory where the MCUBoot KConfig configuration file is - located. If the key file is not there, the build system uses relative - path that starts from the zephyr port cmake directory (boot/zephyr/). + update. It is up to the project customization to add required source + files to the build. config MCUBOOT_ACTION_HOOKS bool "Enable hooks for responding to MCUboot status changes" diff --git a/boot/zephyr/boards/nrf52840dk_hooks_sample_overlay.conf b/boot/zephyr/boards/nrf52840dk_hooks_sample_overlay.conf index 5c13cd2d..fd336db8 100644 --- a/boot/zephyr/boards/nrf52840dk_hooks_sample_overlay.conf +++ b/boot/zephyr/boards/nrf52840dk_hooks_sample_overlay.conf @@ -4,4 +4,3 @@ CONFIG_FLASH_SIMULATOR=y CONFIG_FLASH_SIMULATOR_UNALIGNED_READ=y CONFIG_BOOT_IMAGE_ACCESS_HOOKS=y -CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE="hooks_sample.c" diff --git a/boot/zephyr/sample.yaml b/boot/zephyr/sample.yaml index 5d512733..393c279c 100644 --- a/boot/zephyr/sample.yaml +++ b/boot/zephyr/sample.yaml @@ -44,6 +44,7 @@ tests: sample.bootloader.mcuboot.hooks_multi: extra_args: DTC_OVERLAY_FILE=./boards/nrf52840dk_ram_multi.overlay OVERLAY_CONFIG=./boards/nrf52840dk_hooks_sample_overlay.conf + TEST_BOOT_IMAGE_ACCESS_HOOKS=Y platform_allow: nrf52840dk_nrf52840 integration_platforms: - nrf52840dk_nrf52840