From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/3] Add support for BR2_EXTERNAL
Date: Fri, 13 Sep 2013 09:10:48 +0200 [thread overview]
Message-ID: <20130913091048.0423cf51@skate> (raw)
In-Reply-To: <CAEvN+1jveAKCG0d9fY_YKwhnpJ38PsObZ=ahKp8AFSc3jnhf0Q@mail.gmail.com>
Dear Tzu-Jung Lee,
On Fri, 13 Sep 2013 14:43:11 +0800, Tzu-Jung Lee wrote:
> >> I'm not really convinced by the principle. The external.mk is exactly
> >> the same as the local override .mk; the Config.in appears at the very end
> >> of the top-level menu. Instead, I think we should enforce the buildroot
> >> hierarchy in the external dir, i.e.
> >>
> >> source <path-to-external-dir>/package/Config.in
> >>
> >> at the top of package/Config.in, and
> >>
> >> -include $(sort $(wildcard $(BR2_EXTERNAL)/package/*/*.mk))
> >>
> >> in the top-level Makefile.
> >
> > This is what I had originally done, but it seemed to me that the
> > external stuff may wish to add other Kconfig options than just
> > packages. That said, I've done this BR2_EXTERNAL stuff mainly for
> > packages, so if people think that we should restrict this to packages,
> > I'm fine with that.
> >
>
> We do want to support the absolute paths for both Config.in and *.mk.
>
> As a "buildroot overlay", we have similar structures in overlay/ like
> the buildroot/,
> such as configs, fs, packages, etc.
>
> This requires the buildroot to support only only the *.mk and
> Config.in in the top
> level over overlay/, but also those in their sub directories.
>
> The *.mk case may be get rid of with Arnount's suggestion.
> But I'm wondering could we solve the Config.in case in a less trickier way?
I am not sure what you mean here. What do you mean by "support the
absolute paths for both Config.in and *.mk" ?
> The overlay/Makefile plays a trick, which allows us to work under overlay/ as we
> work under buildroot/
>
> Suppose we have the following configs,
>
> overlay/configs/foo_defconfig
>
> Our build sequence will be:
>
> $ cd overlay
> $ make O=../output/foo foo_defconfig
> $ make O=../output/foo
>
> With either Thomas's patch or our local patch, other targets supported by
> buildroot, such as menuconfig, help, etc also works under overlay/ as they do
> under buildroot/.
>
> ##### overlay/Makefile #######
> EXTERNAL_OVERLAY ?= $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
> export EXTERNAL_OVERLAY
>
> BUILDROOT_TOP = ../buildroot
>
> all:
> ln -fs ../overlay $(BUILDROOT_TOP)
> make -C $(BUILDROOT_TOP)
>
> %:
> ln -fs ../overlay $(BUILDROOT_TOP)
> make -C $(BUILDROOT_TOP) $(MAKECMDGOALS)
>
> ##### overlay/local.mk #######
> -include overlay/package/*/*.mk
> -include overlay/package/*/*/*.mk
>
> -include overlay/cust/*/*.mk
> -include overlay/cust/*/*/*.mk
>
> -include overlay/linux/*.mk
>
> ###### overlay/Config.in ######
> source "overlay/package/Config.in"
> source "overlay/cust/Config.in"
>
> ###### overlay/package/Config.in ######
> source "overlay/package/xxx/Config.in"
This is what BR2_EXTERNAL allows. Of course, doing a
BR2_EXTERNAL/Makefile that allows to run Buildroot from the external
(overlay) directory is something left for the person who creates the
overlay, I believe.
Best regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2013-09-13 7:10 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-08 13:15 [Buildroot] [PATCH 0/3] Support for out-of-tree Buildroot customization Thomas Petazzoni
2013-09-08 13:15 ` [Buildroot] [PATCH 1/3] Makefile: factorize *config dependencies Thomas Petazzoni
2013-09-11 2:06 ` rjbarnet at rockwellcollins.com
2013-09-11 17:39 ` Yann E. MORIN
2013-09-08 13:15 ` [Buildroot] [PATCH 2/3] Add support for BR2_EXTERNAL Thomas Petazzoni
2013-09-11 2:03 ` rjbarnet at rockwellcollins.com
2013-09-11 17:03 ` Yann E. MORIN
2013-09-11 17:12 ` Ryan Barnett
2013-09-12 21:05 ` Arnout Vandecappelle
2013-09-12 21:30 ` Ryan Barnett
2013-09-12 21:41 ` Arnout Vandecappelle
2013-09-12 21:51 ` Ryan Barnett
2013-09-12 21:57 ` Arnout Vandecappelle
2013-09-12 22:11 ` Ryan Barnett
2013-09-13 20:56 ` Arnout Vandecappelle
2013-09-14 5:29 ` Thomas Petazzoni
2013-09-11 2:07 ` rjbarnet at rockwellcollins.com
2013-09-12 21:04 ` Arnout Vandecappelle
2013-09-13 3:48 ` Thomas Petazzoni
2013-09-13 6:43 ` Tzu-Jung Lee
2013-09-13 7:10 ` Thomas Petazzoni [this message]
2013-09-13 7:47 ` Tzu-Jung Lee
[not found] ` <CAC2S8kiHUwNFprvvYd85UEGjDJhEX0Jgtb4e7Pd1vwwFGF7m_w@mail.gmail.com>
2013-09-12 21:53 ` [Buildroot] Fwd: " Ryan Barnett
2013-09-08 13:15 ` [Buildroot] [PATCH 3/3] docs/manual: add explanations about BR2_EXTERNAL Thomas Petazzoni
2013-09-11 2:09 ` rjbarnet at rockwellcollins.com
2013-09-12 21:46 ` Arnout Vandecappelle
2013-09-13 6:53 ` Thomas Petazzoni
2013-09-11 1:32 ` [Buildroot] [PATCH 0/3] Support for out-of-tree Buildroot customization rjbarnet at rockwellcollins.com
2013-09-11 7:17 ` Thomas Petazzoni
2013-09-11 15:55 ` Ryan Barnett
2013-09-11 17:27 ` Yann E. MORIN
2013-09-12 7:54 ` Thomas De Schampheleire
2013-09-12 18:21 ` Thomas Petazzoni
2013-09-12 18:25 ` ANDY KENNEDY
2013-09-12 18:33 ` Thomas Petazzoni
2013-09-12 18:44 ` ANDY KENNEDY
2013-09-12 22:04 ` Arnout Vandecappelle
2013-09-12 22:12 ` Yann E. MORIN
2013-09-13 21:50 ` Arnout Vandecappelle
2013-09-14 22:16 ` Yann E. MORIN
2013-09-16 15:43 ` ANDY KENNEDY
2013-09-16 17:30 ` Yann E. MORIN
2013-09-16 18:26 ` Thomas Petazzoni
2013-09-16 18:58 ` ANDY KENNEDY
2013-09-16 16:21 ` [Buildroot] Is GPLv2 the right license for Buildroot? Thomas Petazzoni
2013-09-16 17:08 ` Yann E. MORIN
2013-09-16 17:45 ` ANDY KENNEDY
2013-09-16 18:01 ` Thomas Petazzoni
2013-09-16 18:16 ` Yann E. MORIN
2013-09-16 21:17 ` Peter Korsgaard
2013-09-18 1:50 ` Jason Rennie
2013-09-18 7:22 ` Peter Korsgaard
2013-09-18 22:09 ` Yann E. MORIN
2013-09-19 0:25 ` Jason Rennie
2013-09-19 17:54 ` Yann E. MORIN
2013-09-16 17:58 ` Thomas Petazzoni
2013-09-16 18:15 ` Yann E. MORIN
2013-09-16 18:24 ` Thomas Petazzoni
2013-09-16 18:56 ` ANDY KENNEDY
2013-09-16 20:04 ` Yann E. MORIN
2013-09-17 4:17 ` Thomas Petazzoni
2013-09-16 19:50 ` Grant Edwards
2013-09-16 20:15 ` Yann E. MORIN
2013-09-18 1:52 ` Jason Rennie
2013-09-16 19:53 ` Arnout Vandecappelle
2013-09-16 21:13 ` Peter Korsgaard
2013-09-16 21:12 ` Peter Korsgaard
2013-09-17 4:44 ` Thomas Petazzoni
2013-09-17 14:53 ` Grant Edwards
2013-09-17 15:17 ` Jeremy Rosen
2013-09-17 15:22 ` Grant Edwards
2013-09-17 15:29 ` Peter Korsgaard
2013-09-16 18:56 ` [Buildroot] [PATCH 0/3] Support for out-of-tree Buildroot customization Arnout Vandecappelle
2013-09-12 22:07 ` Yann E. MORIN
2013-09-12 22:28 ` ANDY KENNEDY
2013-09-12 22:47 ` Yann E. MORIN
2013-09-15 13:18 ` Thomas De Schampheleire
2013-09-12 21:51 ` Yann E. MORIN
2013-09-13 7:35 ` Thomas De Schampheleire
2013-09-13 15:55 ` Ryan Barnett
2013-09-12 21:50 ` Yann E. MORIN
2013-09-12 18:18 ` Thomas Petazzoni
2013-09-12 22:24 ` Yann E. MORIN
2013-09-11 5:00 ` Baruch Siach
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=20130913091048.0423cf51@skate \
--to=thomas.petazzoni@free-electrons.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.