Move bootsim-specific assert behavior behind mcuboot_config.h

Continue removing platform-specific conditional compilation from
bootutil by adding a new MCUBOOT_HAVE_ASSERT_H configuration option
and associated header file. Right now, that's only used by the
simulator.

That leaves just bootutil_log.h with platform-specific contents, but
since it's meant to be an abstraction layer for logging, we'll let it
stand for now.

Signed-off-by: Marti Bolivar <marti@opensourcefoundries.com>
This commit is contained in:
Marti Bolivar 2018-04-24 15:11:39 -04:00 committed by Fabio Utzig
parent f9bfddd685
commit 248da08849
5 changed files with 20 additions and 4 deletions

View File

@ -29,8 +29,8 @@
extern "C" {
#endif
#ifdef __BOOTSIM__
#include "bootsim.h"
#ifdef MCUBOOT_HAVE_ASSERT_H
#include "mcuboot_config/mcuboot_assert.h"
#else
#define ASSERT assert
#endif

View File

@ -82,4 +82,13 @@
* as desirable. */
#define MCUBOOT_MAX_IMG_SECTORS 128
/*
* Assertions
*/
/* Uncomment if your platform has its own mcuboot_config/mcuboot_assert.h.
* If so, it must provide an ASSERT macro for use by bootutil. Otherwise,
* "assert" is used. */
/* #define MCUBOOT_HAVE_ASSERT_H */
#endif /* __MCUBOOT_CONFIG_H__ */

View File

@ -17,6 +17,7 @@ fn main() {
let mut conf = gcc::Build::new();
conf.define("__BOOTSIM__", None);
conf.define("MCUBOOT_USE_FLASH_AREA_GET_SECTORS", None);
conf.define("MCUBOOT_HAVE_ASSERT_H", None);
conf.define("MCUBOOT_MAX_IMG_SECTORS", Some("128"));
if validate_slot0 {

View File

@ -1,7 +1,6 @@
#ifndef H_BOOTSIM_
#define H_BOOTSIM_
void sim_assert(int, const char *test, const char *, unsigned int, const char *);
#define ASSERT(x) sim_assert((x), #x, __FILE__, __LINE__, __func__)
#include "mcuboot_config/mcuboot_assert.h"
#endif

View File

@ -0,0 +1,7 @@
#ifndef __MCUBOOT_ASSERT_H__
#define __MCUBOOT_ASSERT_H__
void sim_assert(int, const char *test, const char *, unsigned int, const char *);
#define ASSERT(x) sim_assert((x), #x, __FILE__, __LINE__, __func__)
#endif /* __MCUBOOT_ASSERT_H__ */