From: Peter Korsgaard <jacmet@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 07/28] barebox: use = instead of := and re-indent
Date: Tue, 05 Jul 2011 23:04:58 +0200 [thread overview]
Message-ID: <87sjqkv3ph.fsf@macbook.be.48ers.dk> (raw)
In-Reply-To: <20110705093115.0d35dcb6@skate> (Thomas Petazzoni's message of "Tue, 5 Jul 2011 09:31:15 +0200")
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
Hi,
>> Using '=' evaluates the assignemnt every time it is referenced, which
>> can be a little bit costly when there are tons of them (like in
>> buildroot); while using ':=' does the evaluation only once, at the
>> time of the assignment, not evaluation.
>>
>> I agree that the code should be homogeneous, but I'd think it should
>> be fast as well. He, if I can get butter, buter's money, and a litle
>> smile from the dairywoman! ;-)
Thomas> Then, we should state that those variables must all be defined with :=
Thomas> all over the place and enforce this decision. In the mean time, I will
Thomas> drop those modifications from my patch set.
:= is only a performance advantage if variables are expensive to expand
(use) and are used more than once - E.G. stuff involving $(shell) and
similar, like the UPPERCASE macro we had calling tr.
= has a number of advantages though. As it only gets expanded at the
last possible moment you don't have to take care about variable
ordering, E.G. when you use a variable like LIBGLIB2_HOST_BINARY on
another package, whereas with := you do. This can also be interesting
when the variable contains $(shell) or other functions, as you might
only want to execute them if/when they are needed, and not right away
when the Makefiles are parsed.
I would prefer to use = by default, and only use := where it matters for
correctness or performance.
--
Bye, Peter Korsgaard
next prev parent reply other threads:[~2011-07-05 21:04 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-04 21:33 [Buildroot] [pull request v2] Pull request for branch for-2011.08/bootloaders Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 01/28] Makefile.package.in: Makes it possible to override the default extract commands Thomas Petazzoni
2011-07-04 21:45 ` Yann E. MORIN
2011-07-04 22:07 ` Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 02/28] Fix quoting in default extract command Thomas Petazzoni
2011-07-04 21:54 ` Yann E. MORIN
2011-07-04 21:33 ` [Buildroot] [PATCH 03/28] linux: make it possible to install the kernel in /boot Thomas Petazzoni
2011-07-04 21:48 ` Yann E. MORIN
2011-07-05 19:23 ` Thomas Petazzoni
2011-07-07 10:04 ` Luca Ceresoli
2011-07-07 21:14 ` Peter Korsgaard
2011-07-04 21:33 ` [Buildroot] [PATCH 04/28] linux: use the defconfig mechanism after tuning the config Thomas Petazzoni
2011-07-04 21:52 ` Yann E. MORIN
2011-07-04 21:33 ` [Buildroot] [PATCH 05/28] package: add infrastructure to install things in images/ Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 06/28] package: fix patching procedure for host packages Thomas Petazzoni
2011-07-04 22:01 ` Yann E. MORIN
2011-07-05 7:28 ` Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 07/28] barebox: use = instead of := and re-indent Thomas Petazzoni
2011-07-04 22:08 ` Yann E. MORIN
2011-07-05 7:31 ` Thomas Petazzoni
2011-07-05 21:04 ` Peter Korsgaard [this message]
2011-07-04 21:33 ` [Buildroot] [PATCH 08/28] barebox: convert to GENTARGETS Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 09/28] at91bootstrap: use = instead of := and indent properly Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 10/28] at91bootstrap: convert to GENTARGETS Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 11/28] at91dataflashboot: use = instead of := and indent Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 12/28] at91dataflashboot: convert to GENTARGETS Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 13/28] syslinux: " Thomas Petazzoni
2011-07-04 22:12 ` Yann E. MORIN
2011-07-05 19:46 ` Thomas Petazzoni
2011-07-05 21:28 ` Yann E. MORIN
2011-07-04 21:33 ` [Buildroot] [PATCH 14/28] grub: convert to AUTOTARGETS Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 15/28] grub2: remove package Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 16/28] u-boot: convert to GENTARGETS Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 17/28] uboot-mkimage: new package Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 18/28] linux: rename LINUX26 to LINUX Thomas Petazzoni
2011-07-05 14:24 ` Dechesne, Nicolas
2011-07-05 19:11 ` Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 19/28] linux: indent and align some definitions Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 20/28] package: add support for post-download hooks Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 21/28] linux: convert to the GENTARGETS infrastructure Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 22/28] boot: rename BR2_TARGET_* to BR2_BOOT_* Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 23/28] u-boot: rename options BR2_BOOT_UBOOT* to BR2_BOOT_U_BOOT* Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 24/28] Improve TARGETS handling for bootloaders and kernel Thomas Petazzoni
2011-07-04 22:27 ` Yann E. MORIN
2011-07-05 19:47 ` Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 25/28] linux: allow specification of a custom Git repository as a source Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 26/28] u-boot: allow specification of custom Git repo as source Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 27/28] Add x-loader bootloader Thomas Petazzoni
2011-07-04 21:33 ` [Buildroot] [PATCH 28/28] barebox: bump version Thomas Petazzoni
2011-07-04 21:44 ` [Buildroot] [pull request v2] Pull request for branch for-2011.08/bootloaders Yann E. MORIN
2011-07-04 22:01 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sjqkv3ph.fsf@macbook.be.48ers.dk \
--to=jacmet@uclibc.org \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox