Skip to contentSkip to conversation

Depend autotools targets on host-ccache when BR2_CCACHE is enabled.

PATCH New Raúl Sánchez Siles 3 participants 7 messages Sep 6, 2012 – May 26, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Depend autotools targets on host-ccache when BR2_CCACHE is enabled.

In this case, autotools targets rely on $(TARGET_CONFIGURE_OPTS) which includes ccached compiler.

---
 package/pkg-autotools.mk |    4 ++++
 1 file changed, 4 insertions(+)
package/pkg-autotools.mk +4 -0
index 785daab..e858ffc 100644
@@ -200,6 +200,10 @@ $(2)_PRE_CONFIGURE_HOOKS += AUTORECONF_HOOK
 $(2)_DEPENDENCIES += host-automake host-autoconf host-libtool
 endif
 
+ifeq ($(BR2_CCACHE),y)
+$(2)_DEPENDENCIES += host-ccache
+endif
+
 #
 # Build step. Only define it if not already defined by the package .mk
 # file.
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 1/1 Depend autotools targets on host-ccache when BR2_CCACHE is enabled.

Hi Raul,

2012/9/6 Ra?l S?nchez Siles <[email protected]>:

Quoted 13 lines

In this case, autotools targets rely on $(TARGET_CONFIGURE_OPTS) which includes ccached compiler.

---
 package/pkg-autotools.mk |    4 ++++
 1 file changed, 4 insertions(+)
package/pkg-autotools.mk +0 -0
index 785daab..e858ffc 100644

package/pkg-autotools.mk $(2)_PRE_CONFIGURE_HOOKS += AUTORECONF_HOOK · line 206

Quoted 7 lines
package/pkg-autotools.mk +4 -0
@@ -200,6 +200,10 @@ $(2)_PRE_CONFIGURE_HOOKS += AUTORECONF_HOOK
 $(2)_DEPENDENCIES += host-automake host-autoconf host-libtool
 endif
 
+ifeq ($(BR2_CCACHE),y)
+$(2)_DEPENDENCIES += host-ccache
+endif
+

This should not be necessary since host-ccache is added to the BASE_TARGETS list in the Makefile at the root of buildroot.

Anyway, what was the issue and the 'make ...' call sequence that lead to it?

Regards,

Signature · 1 line
Samuel
#2 lore raw

PATCH 1/1 Depend autotools targets on host-ccache when BR2_CCACHE is enabled.

Dear Samuel Martin,

Quoted 2 lines · Samuel Martin

This should not be necessary since host-ccache is added to the BASE_TARGETS list in the Makefile at the root of buildroot.

Maybe:

make menuconfig
make <somepackage>

i.e, not starting the complete build, but just the build of a given package?

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#3 lore raw

PATCH 1/1 Depend autotools targets on host-ccache when BR2_CCACHE is enabled.

Samuel,

Quoted 7 lines · Thomas Petazzoni

Dear Samuel Martin,

Quoted 2 lines · Samuel Martin

This should not be necessary since host-ccache is added to the BASE_TARGETS list in the Makefile at the root of buildroot.

Quoted 7 lines

Maybe:

make menuconfig
make <somepackage>

i.e, not starting the complete build, but just the build of a given package?

See also https://bugs.busybox.net/show_bug.cgi?id=5678, which seems to be related.

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#4 lore raw

PATCH 1/1 Depend autotools targets on host-ccache when BR2_CCACHE is enabled.

Thomas, all,

2013/5/26 Thomas Petazzoni <[email protected]>:

Quoted 12 lines

Samuel,

Quoted 9 lines · Thomas Petazzoni

Dear Samuel Martin,

Quoted 2 lines · Samuel Martin

This should not be necessary since host-ccache is added to the BASE_TARGETS list in the Makefile at the root of buildroot.

Maybe:

Quoted 8 lines
Quoted 5 lines

make menuconfig
make <somepackage>

i.e, not starting the complete build, but just the build of a given package?

See also https://bugs.busybox.net/show_bug.cgi?id=5678, which seems to be related.

Right.

In these cases, I rather suggest to build either a whole "small" config, or at least the toolchain
before tweaking anything (packages, kernel or bootloader).

Note that if we want to allow this use case, it may require adding BASE_TARGETS to all *-menuconfig and packages' targets.

I think we don't want to go this way.

Regards,

Signature · 1 line
Samuel
#5 lore raw

PATCH 1/1 Depend autotools targets on host-ccache when BR2_CCACHE is enabled.

Dear Samuel Martin,

Quoted 8 lines · Samuel Martin

In these cases, I rather suggest to build either a whole "small" config, or at least the toolchain
before tweaking anything (packages, kernel or bootloader).

Note that if we want to allow this use case, it may require adding BASE_TARGETS to all *-menuconfig and packages' targets.

I think we don't want to go this way.

Being able to do "make linux-menuconfig" right after "make menuconfig" is a quite important use case, IMO. We should support that I believe.

linux-menuconfig already depends on "dirs" so that it can work properly when ran after "make menuconfig" (when ccache is not enabled). But I see that it also depends on linux-configure. Maybe we just need to make the *-extract of all packages depend on $(BASE_TARGETS) or something like that?

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#6 lore raw

PATCH 1/1 Depend autotools targets on host-ccache when BR2_CCACHE is enabled.

Thomas,

2013/5/26 Thomas Petazzoni <[email protected]>:

Quoted 13 lines

Dear Samuel Martin,

Quoted 8 lines · Samuel Martin

In these cases, I rather suggest to build either a whole "small" config, or at least the toolchain
before tweaking anything (packages, kernel or bootloader).

Note that if we want to allow this use case, it may require adding BASE_TARGETS to all *-menuconfig and packages' targets.

I think we don't want to go this way.

Quoted 9 lines

Being able to do "make linux-menuconfig" right after "make menuconfig" is a quite important use case, IMO. We should support that I believe.

linux-menuconfig already depends on "dirs" so that it can work properly when ran after "make menuconfig" (when ccache is not enabled). But I see that it also depends on linux-configure. Maybe we just need to make the *-extract of all packages depend on $(BASE_TARGETS) or something like that?

Indeed, something like that seems doing the tricks :)

I'll cook a patch and submit it.

Regards,

Signature · 1 line
Samuel