diff mbox

[v2,3/5] tools: fix define2mk.sed to not add quotes around negative integers

Message ID 1465638252-13196-4-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit cd51878e34f6beef8ec7b66886e5a23a64b88653
Headers show

Commit Message

Masahiro Yamada June 11, 2016, 9:44 a.m. UTC
The sed script, tools/scripts/define2mk.sed, converts config defines
from C headers into include/autoconf.mk for the use in Makefiles.

I found the tool adds quotes around negative integer values.

For example, at the point of the v2016.07-rc1 tag,
include/configs/microblaze-generic.h defines
  #define CONFIG_BOOTDELAY         -1     /* -1 disables auto-boot */

Because it is an integer option, it should be converted to:
  CONFIG_BOOTDELAY=-1

But, the script actually converts it to:
  CONFIG_BOOTDELAY="-1"

This is a fatal problem for the tools/moveconfig.py because it parses
include/autoconf.mk for the config defines from the board headers.
CONFIG_BOOTDELAY="-1" is considered as a string type option and it
is dropped due to the type mismatch from the entry in Kconfig.

This commit fixes the script so that the tools/moveconfig.py can
correctly convert integer options with a negative value.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

Changes in v2: None

 tools/scripts/define2mk.sed | 2 ++
 1 file changed, 2 insertions(+)

-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Comments

Masahiro Yamada June 12, 2016, 10:54 p.m. UTC | #1
2016-06-11 18:44 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> The sed script, tools/scripts/define2mk.sed, converts config defines

> from C headers into include/autoconf.mk for the use in Makefiles.

>

> I found the tool adds quotes around negative integer values.

>

> For example, at the point of the v2016.07-rc1 tag,

> include/configs/microblaze-generic.h defines

>   #define CONFIG_BOOTDELAY         -1     /* -1 disables auto-boot */

>

> Because it is an integer option, it should be converted to:

>   CONFIG_BOOTDELAY=-1

>

> But, the script actually converts it to:

>   CONFIG_BOOTDELAY="-1"

>

> This is a fatal problem for the tools/moveconfig.py because it parses

> include/autoconf.mk for the config defines from the board headers.

> CONFIG_BOOTDELAY="-1" is considered as a string type option and it

> is dropped due to the type mismatch from the entry in Kconfig.

>

> This commit fixes the script so that the tools/moveconfig.py can

> correctly convert integer options with a negative value.

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---

>


Applied along with moveconfig.py updates.


-- 
Best Regards
Masahiro Yamada
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
diff mbox

Patch

diff --git a/tools/scripts/define2mk.sed b/tools/scripts/define2mk.sed
index c641edf..0f00285 100644
--- a/tools/scripts/define2mk.sed
+++ b/tools/scripts/define2mk.sed
@@ -22,6 +22,8 @@ 
 	s/=\(..*\)/="\1"/;
 	# but remove again from decimal numbers
 	s/="\([0-9][0-9]*\)"/=\1/;
+	# ... and from negative decimal numbers
+	s/="\(-[1-9][0-9]*\)"/=\1/;
 	# ... and from hex numbers
 	s/="\(0[Xx][0-9a-fA-F][0-9a-fA-F]*\)"/=\1/;
 	# ... and from configs defined from other configs