Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

  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