Browse Source

Build: fix assert_boolean implementation

The current assert_boolean does not work with variables assigned with
'=' flavor instead of ':='.

For example,

 FOO = $(BAR)
 BAR := 1

Here, $(value FOO) is evaluated to $(BAR), not 1.  This is not what
we expect.  While I am here, I simplified the implementation.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
pull/938/head
Masahiro Yamada 8 years ago
parent
commit
be4cd40e8b
  1. 2
      make_helpers/build_macros.mk

2
make_helpers/build_macros.mk

@ -54,7 +54,7 @@ endef
# Convenience function for verifying option has a boolean value
# $(eval $(call assert_boolean,FOO)) will assert FOO is 0 or 1
define assert_boolean
$(and $(patsubst 0,,$(value $(1))),$(patsubst 1,,$(value $(1))),$(error $(1) must be boolean))
$(if $(filter-out 0 1,$($1)),$(error $1 must be boolean))
endef
0-9 := 0 1 2 3 4 5 6 7 8 9

Loading…
Cancel
Save