* [Buildroot] [RFC 0/4] fixes for top-level parallel make
@ 2013-04-24 10:08 Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 1/4] package: add toolchain dependency to inner-generic-package Fabio Porcedda
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Fabio Porcedda @ 2013-04-24 10:08 UTC (permalink / raw)
To: buildroot
This patch set improve support for top-level parallel make,
the support for top-level parallel make is not complete, but at least
is a improvement.
I will submit a more complete patch set with more fixes.
Best regards
Fabio Porcedda (4):
package: add toolchain dependency to inner-generic-package
package: fix generic configure for top-level parallel make
package: fix generic build for top-level parallel make
package: fix generic install for top-level parallel make
package/pkg-autotools.mk | 2 +-
package/pkg-generic.mk | 33 ++++++++++++++++++---------------
2 files changed, 19 insertions(+), 16 deletions(-)
--
1.8.1.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [RFC 1/4] package: add toolchain dependency to inner-generic-package
2013-04-24 10:08 [Buildroot] [RFC 0/4] fixes for top-level parallel make Fabio Porcedda
@ 2013-04-24 10:08 ` Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 2/4] package: fix generic configure for top-level parallel make Fabio Porcedda
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Fabio Porcedda @ 2013-04-24 10:08 UTC (permalink / raw)
To: buildroot
This commit makes the dependency from the target toolchain explicit.
This way we can buid from command line a package that use
innger-generic-package right after the configuration phase.
This is a step forward top-level parallel make.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
---
package/pkg-autotools.mk | 2 +-
package/pkg-generic.mk | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
index d8d7e6d..032f86c 100644
--- a/package/pkg-autotools.mk
+++ b/package/pkg-autotools.mk
@@ -201,7 +201,7 @@ endef
# This must be repeated from inner-generic-package, otherwise we get an empty
# _DEPENDENCIES if _AUTORECONF is YES. Also filter the result of _AUTORECONF
# away from the non-host rule
-$(2)_DEPENDENCIES ?= $(filter-out host-automake host-autoconf host-libtool $(1),\
+$(2)_DEPENDENCIES ?= $(filter-out host-automake host-autoconf host-libtool host-toolchain $(1),\
$(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index e6bc955..2460384 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -304,7 +304,12 @@ endif
$(2)_REDISTRIBUTE ?= YES
-$(2)_DEPENDENCIES ?= $(filter-out $(1),$(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))
+$(2)_DEPENDENCIES ?= $(filter-out host-toolchain $(1),\
+ $(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))
+ifeq ($$($(2)_TYPE),target)
+$(2)_DEPENDENCIES += toolchain
+endif
+
$(2)_INSTALL_STAGING ?= NO
$(2)_INSTALL_IMAGES ?= NO
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [RFC 2/4] package: fix generic configure for top-level parallel make
2013-04-24 10:08 [Buildroot] [RFC 0/4] fixes for top-level parallel make Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 1/4] package: add toolchain dependency to inner-generic-package Fabio Porcedda
@ 2013-04-24 10:08 ` Fabio Porcedda
2013-04-24 14:11 ` Thomas Petazzoni
2013-04-24 10:08 ` [Buildroot] [RFC 3/4] package: fix generic build " Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 4/4] package: fix generic install " Fabio Porcedda
3 siblings, 1 reply; 7+ messages in thread
From: Fabio Porcedda @ 2013-04-24 10:08 UTC (permalink / raw)
To: buildroot
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
---
package/pkg-generic.mk | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 2460384..455d0ef 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -386,6 +386,8 @@ $(1)-install-host: $(1)-build $$($(2)_TARGET_INSTALL_HOST)
$(1)-build: $(1)-configure \
$$($(2)_TARGET_BUILD)
+$$($(2)_TARGET_CONFIGURE): $(1)-depends
+$(1)-configure: $$($(2)_TARGET_CONFIGURE)
ifeq ($$($(2)_OVERRIDE_SRCDIR),)
# In the normal case (no package override), the sequence of steps is
# source, by downloading
@@ -393,8 +395,7 @@ ifeq ($$($(2)_OVERRIDE_SRCDIR),)
# extract
# patch
# configure
-$(1)-configure: $(1)-patch $(1)-depends \
- $$($(2)_TARGET_CONFIGURE)
+$$($(2)_TARGET_CONFIGURE): $(1)-patch
$(1)-patch: $(1)-extract $$($(2)_TARGET_PATCH)
@@ -409,9 +410,6 @@ else
# source, by rsyncing
# depends
# configure
-$(1)-configure: $(1)-depends \
- $$($(2)_TARGET_CONFIGURE)
-
$(1)-depends: $(1)-rsync $$($(2)_DEPENDENCIES)
$(1)-patch: $(1)-rsync
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [RFC 3/4] package: fix generic build for top-level parallel make
2013-04-24 10:08 [Buildroot] [RFC 0/4] fixes for top-level parallel make Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 1/4] package: add toolchain dependency to inner-generic-package Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 2/4] package: fix generic configure for top-level parallel make Fabio Porcedda
@ 2013-04-24 10:08 ` Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 4/4] package: fix generic install " Fabio Porcedda
3 siblings, 0 replies; 7+ messages in thread
From: Fabio Porcedda @ 2013-04-24 10:08 UTC (permalink / raw)
To: buildroot
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
---
package/pkg-generic.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 455d0ef..09ddd81 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -383,8 +383,8 @@ endif
$(1)-install-host: $(1)-build $$($(2)_TARGET_INSTALL_HOST)
-$(1)-build: $(1)-configure \
- $$($(2)_TARGET_BUILD)
+$$($(2)_TARGET_BUILD): $(1)-configure
+$(1)-build: $$($(2)_TARGET_BUILD)
$$($(2)_TARGET_CONFIGURE): $(1)-depends
$(1)-configure: $$($(2)_TARGET_CONFIGURE)
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [RFC 4/4] package: fix generic install for top-level parallel make
2013-04-24 10:08 [Buildroot] [RFC 0/4] fixes for top-level parallel make Fabio Porcedda
` (2 preceding siblings ...)
2013-04-24 10:08 ` [Buildroot] [RFC 3/4] package: fix generic build " Fabio Porcedda
@ 2013-04-24 10:08 ` Fabio Porcedda
3 siblings, 0 replies; 7+ messages in thread
From: Fabio Porcedda @ 2013-04-24 10:08 UTC (permalink / raw)
To: buildroot
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
---
package/pkg-generic.mk | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 09ddd81..c4ef0fb 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -360,28 +360,28 @@ else
$(1)-install: $(1)-install-staging $(1)-install-target $(1)-install-images
endif
+$$($(2)_TARGET_INSTALL_TARGET) $$($(2)_TARGET_INSTALL_STAGING) \
+ $$($(2)_TARGET_INSTALL_IMAGES) $$($(2)_TARGET_INSTALL_HOST): $(1)-build
+
ifeq ($$($(2)_INSTALL_TARGET),YES)
-$(1)-install-target: $(1)-build \
- $$($(2)_TARGET_INSTALL_TARGET)
+$(1)-install-target: $$($(2)_TARGET_INSTALL_TARGET)
else
$(1)-install-target:
endif
ifeq ($$($(2)_INSTALL_STAGING),YES)
-$(1)-install-staging: $(1)-build \
- $$($(2)_TARGET_INSTALL_STAGING)
+$(1)-install-staging: $$($(2)_TARGET_INSTALL_STAGING)
else
$(1)-install-staging:
endif
ifeq ($$($(2)_INSTALL_IMAGES),YES)
-$(1)-install-images: $(1)-build \
- $$($(2)_TARGET_INSTALL_IMAGES)
+$(1)-install-images: $$($(2)_TARGET_INSTALL_IMAGES)
else
$(1)-install-images:
endif
-$(1)-install-host: $(1)-build $$($(2)_TARGET_INSTALL_HOST)
+$(1)-install-host: $$($(2)_TARGET_INSTALL_HOST)
$$($(2)_TARGET_BUILD): $(1)-configure
$(1)-build: $$($(2)_TARGET_BUILD)
--
1.8.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Buildroot] [RFC 2/4] package: fix generic configure for top-level parallel make
2013-04-24 10:08 ` [Buildroot] [RFC 2/4] package: fix generic configure for top-level parallel make Fabio Porcedda
@ 2013-04-24 14:11 ` Thomas Petazzoni
2013-04-24 16:25 ` Fabio Porcedda
0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2013-04-24 14:11 UTC (permalink / raw)
To: buildroot
Dear Fabio Porcedda,
Could you add a detailed commit description for patches 2, 3 and 4 ?
Those patches are touching core infrastructure, so they should be
explained in detail. Thanks!
Thomas
On Wed, 24 Apr 2013 12:08:56 +0200, Fabio Porcedda wrote:
> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
> ---
> package/pkg-generic.mk | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 2460384..455d0ef 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -386,6 +386,8 @@ $(1)-install-host: $(1)-build $$($(2)_TARGET_INSTALL_HOST)
> $(1)-build: $(1)-configure \
> $$($(2)_TARGET_BUILD)
>
> +$$($(2)_TARGET_CONFIGURE): $(1)-depends
> +$(1)-configure: $$($(2)_TARGET_CONFIGURE)
> ifeq ($$($(2)_OVERRIDE_SRCDIR),)
> # In the normal case (no package override), the sequence of steps is
> # source, by downloading
> @@ -393,8 +395,7 @@ ifeq ($$($(2)_OVERRIDE_SRCDIR),)
> # extract
> # patch
> # configure
> -$(1)-configure: $(1)-patch $(1)-depends \
> - $$($(2)_TARGET_CONFIGURE)
> +$$($(2)_TARGET_CONFIGURE): $(1)-patch
>
> $(1)-patch: $(1)-extract $$($(2)_TARGET_PATCH)
>
> @@ -409,9 +410,6 @@ else
> # source, by rsyncing
> # depends
> # configure
> -$(1)-configure: $(1)-depends \
> - $$($(2)_TARGET_CONFIGURE)
> -
> $(1)-depends: $(1)-rsync $$($(2)_DEPENDENCIES)
>
> $(1)-patch: $(1)-rsync
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Buildroot] [RFC 2/4] package: fix generic configure for top-level parallel make
2013-04-24 14:11 ` Thomas Petazzoni
@ 2013-04-24 16:25 ` Fabio Porcedda
0 siblings, 0 replies; 7+ messages in thread
From: Fabio Porcedda @ 2013-04-24 16:25 UTC (permalink / raw)
To: buildroot
On Wed, Apr 24, 2013 at 4:11 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Fabio Porcedda,
>
> Could you add a detailed commit description for patches 2, 3 and 4 ?
> Those patches are touching core infrastructure, so they should be
> explained in detail. Thanks!
Hi Thomas,
Thanks for reviewing.
I will do that in the next iteration.
Something like:
Some rules depends on the left-to-right evaluation order of prerequisites,
but that works only in non-parallel makefiles.
To fix that it must use instead a new rule to clarify that dependency.
Best regards
Fabio Porcedda
> Thomas
>
> On Wed, 24 Apr 2013 12:08:56 +0200, Fabio Porcedda wrote:
>> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
>> ---
>> package/pkg-generic.mk | 8 +++-----
>> 1 file changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
>> index 2460384..455d0ef 100644
>> --- a/package/pkg-generic.mk
>> +++ b/package/pkg-generic.mk
>> @@ -386,6 +386,8 @@ $(1)-install-host: $(1)-build $$($(2)_TARGET_INSTALL_HOST)
>> $(1)-build: $(1)-configure \
>> $$($(2)_TARGET_BUILD)
>>
>> +$$($(2)_TARGET_CONFIGURE): $(1)-depends
>> +$(1)-configure: $$($(2)_TARGET_CONFIGURE)
>> ifeq ($$($(2)_OVERRIDE_SRCDIR),)
>> # In the normal case (no package override), the sequence of steps is
>> # source, by downloading
>> @@ -393,8 +395,7 @@ ifeq ($$($(2)_OVERRIDE_SRCDIR),)
>> # extract
>> # patch
>> # configure
>> -$(1)-configure: $(1)-patch $(1)-depends \
>> - $$($(2)_TARGET_CONFIGURE)
>> +$$($(2)_TARGET_CONFIGURE): $(1)-patch
>>
>> $(1)-patch: $(1)-extract $$($(2)_TARGET_PATCH)
>>
>> @@ -409,9 +410,6 @@ else
>> # source, by rsyncing
>> # depends
>> # configure
>> -$(1)-configure: $(1)-depends \
>> - $$($(2)_TARGET_CONFIGURE)
>> -
>> $(1)-depends: $(1)-rsync $$($(2)_DEPENDENCIES)
>>
>> $(1)-patch: $(1)-rsync
>
>
>
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
--
Fabio Porcedda
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-04-24 16:25 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-24 10:08 [Buildroot] [RFC 0/4] fixes for top-level parallel make Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 1/4] package: add toolchain dependency to inner-generic-package Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 2/4] package: fix generic configure for top-level parallel make Fabio Porcedda
2013-04-24 14:11 ` Thomas Petazzoni
2013-04-24 16:25 ` Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 3/4] package: fix generic build " Fabio Porcedda
2013-04-24 10:08 ` [Buildroot] [RFC 4/4] package: fix generic install " Fabio Porcedda
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox