
Hi Masahiro,
Hi Detlev,
On Wed, 05 Mar 2014 11:06:03 +0100 Detlev Zundel dzu@denx.de wrote:
Hi Masahiro,
CROSS_COMPILE is generally passed from the command line or by the environment variable because cross tools vary from user to user.
But, having some choices of often used CROSS_COMPILE seems reasonable.
$(call cc-cross-prefix, ...) returns the first prefix where a prefix$(CC) is found in PATH.
If your cross tools exist in the argument of $(call cc-cross-prefix, ...), you do not have to specify it explicitly.
Signed-off-by: Masahiro Yamada yamada.m@jp.panasonic.com
I have to admit that I don't really like this approach. On the one hand it is an heuristic trying to guess the intentions of the user. This is nice if it works but can be very surprising when it goes wrong.
But more imprtantly, it will blur the the boundaries of the build process as we trade the very self contained determinism of "use what CROSS_COMPILE" says to "use what we may find in the rest of the system".
It would even be possible that a "once working" build process will not work anymore because the user has installed a new toolchain in the meantime and then this completely unrelated action has an (unwanted) impact.
In short, I would rather want to stay with our current (clearly defined) setup :)
Maybe this is verbose, but just in case, let me add a few words.
If you like, you can still pass CROSS_COMPILE from the command line or by the environment variable.
ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(call cc-cross-prefix, arm-linux- arm-linux-gnueabi-) endif
$(call cc-cross-prefix, ...) is invoked only when $(CROSS_COMPILE) is empty, that is CROSS_COMPILE is not explicitely specified.
For users who know everything happening in the built system, this patch might be helpful for less typing...
Yes, I fully understand your intention but I still believe that setting CROSS_COMPILE is usually scripted anyway so the savings are near negligible and the "price" we pay is adding (more) information about cross-toolchains which is really outside of the scope of U-Boot (or any other project I'd say).
If there would be real savings, then maybe it is worth to break the principle of modularity but in the current discussion I just don't see that.
Best wishes Detlev