Skip to contentSkip to conversation

Kbuild: allow building tools without board configuration

PATCH In review Masahiro Yamada 3 participants 8 messages Mar 31, 2014 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Kbuild: allow building tools without board configuration

Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board.

That feature was lost when switching to Kbuild.

This patch revives it again by adding a make target "tools-only".

Usage:

  $ make tools-only

Neither board configuration nor cross compiler are required to build host tools.

---
 Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Makefile +4 -1
index e5f5a8c..43391eb 100644
@@ -409,7 +409,7 @@ timestamp_h := include/generated/timestamp_autogenerated.h
 
 no-dot-config-targets := clean clobber mrproper distclean \
 			 help %docs check% coccicheck \
-			 ubootversion backup
+			 ubootversion backup tools-only
 
 config-targets := 0
 mixed-targets  := 0
@@ -1128,6 +1128,9 @@ checkarmreloc: u-boot
 env: scripts_basic
 	$(Q)$(MAKE) $(build)=tools/$@
 
+tools-only: scripts_basic $(version_h) $(timestamp_h)
+	$(Q)$(MAKE) $(build)=tools
+
 tools-all: export HOST_TOOLS_ALL=y
 tools-all: env tools ;
 
Signature · 1 line
1.8.3.2
#1 lore raw

PATCH 1/1 Kbuild: allow building tools without board configuration

Quoted 10 lines · Masahiro Yamada

Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board.

That feature was lost when switching to Kbuild.

This patch revives it again by adding a make target "tools-only".

Usage:

  $ make tools-only
Quoted 8 lines

Neither board configuration nor cross compiler are required to build host tools.

Works as expected for me.

-Alexey

#2 lore raw

PATCH 1/1 Kbuild: allow building tools without board configuration

In reply to Masahiro Yamada
Quoted 10 lines · Masahiro Yamada

Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board.

That feature was lost when switching to Kbuild.

This patch revives it again by adding a make target "tools-only".

Usage:

  $ make tools-only
Quoted 8 lines

Neither board configuration nor cross compiler are required to build host tools.

Problem is that we make enabling the signature code (which adds more
deps on the host) based on the config, and this was intentional. So
I'm not sure if we want to do this exactly, at least right now.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140331/935261f4/attachment.pgp>
#3 lore raw

PATCH 1/1 Kbuild: allow building tools without board configuration

Hi Tom,

Quoted 21 lines · Tom Rini
Quoted 10 lines · Masahiro Yamada

Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board.

That feature was lost when switching to Kbuild.

This patch revives it again by adding a make target "tools-only".

Usage:

  $ make tools-only
Quoted 8 lines

Neither board configuration nor cross compiler are required to build host tools.

Quoted 3 lines

Problem is that we make enabling the signature code (which adds more
deps on the host) based on the config, and this was intentional. So
I'm not sure if we want to do this exactly, at least right now.

Could you please add a bit more clarifications for your comment.

I don't quite understand why do I need to have any info from a board configuration when building "mkimage" utility.

Maybe I'm missing something.

And the problem is without proposed patch it's virtually impossible (or I don't know how) to build "mkimage" without configuring the real board.

For example what Linux distros will do to build generic "mkimage" tool?

And I think it is very important to resolve before U-Boot v2014.04 gets released.

-Alexey

#4 lore raw

PATCH 1/1 Kbuild: allow building tools without board configuration

Quoted 33 lines · Alexey Brodkin

Hi Tom,

Quoted 21 lines · Tom Rini
Quoted 10 lines · Masahiro Yamada

Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board.

That feature was lost when switching to Kbuild.

This patch revives it again by adding a make target "tools-only".

Usage:

  $ make tools-only
Quoted 8 lines

Neither board configuration nor cross compiler are required to build host tools.

Quoted 3 lines

Problem is that we make enabling the signature code (which adds more
deps on the host) based on the config, and this was intentional. So
I'm not sure if we want to do this exactly, at least right now.

Could you please add a bit more clarifications for your comment.

I don't quite understand why do I need to have any info from a board configuration when building "mkimage" utility.

Quoted 6 lines

Maybe I'm missing something.

And the problem is without proposed patch it's virtually impossible (or I don't know how) to build "mkimage" without configuring the real board.

For example what Linux distros will do to build generic "mkimage" tool?

So, if you check out tools/mkimage.c you can see that if CONFIG_FIT_SIGNATURE is set we add options for doing rsa/etc signatures on parts of a FIT image (see doc/uImage.FIT/signature.txt). But then you need to have crypto libraries on the host available for linking. When not set we capture the relevant flags and print out a message to stderr. Since generic distros today hate FIT images even more than legacy images, I'm not overly concerned about that, today.

Quoted 3 lines

And I think it is very important to resolve before U-Boot v2014.04 gets released.

I agree, yes.

Quoted 6 lines

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

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140331/e4714c64/attachment.pgp>
#5 lore raw

PATCH 1/1 Kbuild: allow building tools without board configuration

Quoted 41 lines · Tom Rini
Quoted 33 lines · Alexey Brodkin

Hi Tom,

Quoted 21 lines · Tom Rini
Quoted 10 lines · Masahiro Yamada

Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board.

That feature was lost when switching to Kbuild.

This patch revives it again by adding a make target "tools-only".

Usage:

  $ make tools-only
Quoted 8 lines

Neither board configuration nor cross compiler are required to build host tools.

Quoted 3 lines

Problem is that we make enabling the signature code (which adds more
deps on the host) based on the config, and this was intentional. So
I'm not sure if we want to do this exactly, at least right now.

Could you please add a bit more clarifications for your comment.

I don't quite understand why do I need to have any info from a board configuration when building "mkimage" utility.

Quoted 6 lines

Maybe I'm missing something.

And the problem is without proposed patch it's virtually impossible (or I don't know how) to build "mkimage" without configuring the real board.

For example what Linux distros will do to build generic "mkimage" tool?

Quoted 7 lines

So, if you check out tools/mkimage.c you can see that if CONFIG_FIT_SIGNATURE is set we add options for doing rsa/etc signatures on parts of a FIT image (see doc/uImage.FIT/signature.txt). But then you need to have crypto libraries on the host available for linking. When not set we capture the relevant flags and print out a message to stderr. Since generic distros today hate FIT images even more than legacy images, I'm not overly concerned about that, today.

So why don't we accept proposed patch so at least there will be a simple way to build generic "mkimage" people usually need?

If needed we may do more changes in the patch. For example we may add warning message saying that FIT images won't be supported by this "generic" "mkimage" etc.

-Alexey

#6 lore raw

PATCH 1/1 Kbuild: allow building tools without board configuration

Quoted 50 lines · Alexey Brodkin
Quoted 41 lines · Tom Rini
Quoted 33 lines · Alexey Brodkin

Hi Tom,

Quoted 21 lines · Tom Rini
Quoted 10 lines · Masahiro Yamada

Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board.

That feature was lost when switching to Kbuild.

This patch revives it again by adding a make target "tools-only".

Usage:

  $ make tools-only
Quoted 8 lines

Neither board configuration nor cross compiler are required to build host tools.

Quoted 3 lines

Problem is that we make enabling the signature code (which adds more
deps on the host) based on the config, and this was intentional. So
I'm not sure if we want to do this exactly, at least right now.

Could you please add a bit more clarifications for your comment.

I don't quite understand why do I need to have any info from a board configuration when building "mkimage" utility.

Quoted 6 lines

Maybe I'm missing something.

And the problem is without proposed patch it's virtually impossible (or I don't know how) to build "mkimage" without configuring the real board.

For example what Linux distros will do to build generic "mkimage" tool?

Quoted 7 lines

So, if you check out tools/mkimage.c you can see that if CONFIG_FIT_SIGNATURE is set we add options for doing rsa/etc signatures on parts of a FIT image (see doc/uImage.FIT/signature.txt). But then you need to have crypto libraries on the host available for linking. When not set we capture the relevant flags and print out a message to stderr. Since generic distros today hate FIT images even more than legacy images, I'm not overly concerned about that, today.

Quoted 6 lines

So why don't we accept proposed patch so at least there will be a simple way to build generic "mkimage" people usually need?

If needed we may do more changes in the patch. For example we may add warning message saying that FIT images won't be supported by this "generic" "mkimage" etc.

Yeah, OK, we are no different than before at least (just checked, a sandbox mkimage is still fine) so I can accept this, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140331/6c80ced0/attachment.pgp>
#7 lore raw
In reply to Masahiro Yamada
Quoted 13 lines · Masahiro Yamada

Prior to Kbuild, U-Boot could build under tools/ directory withour configuring for a specific board.

That feature was lost when switching to Kbuild.

This patch revives it again by adding a make target "tools-only".

Usage:

  $ make tools-only

Neither board configuration nor cross compiler are required to build host tools.

Quoted 6 lines

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140331/5de3688b/attachment.pgp>