Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking
@ 2014-08-28 21:03 Thomas Petazzoni
  2014-08-28 21:03 ` [Buildroot] [PATCH 2/2] packages: no longer pass --disable-dependency-tracking in individual packages Thomas Petazzoni
  2014-08-29  7:18 ` [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking Peter Korsgaard
  0 siblings, 2 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2014-08-28 21:03 UTC (permalink / raw)
  To: buildroot

By default, automake does "dependency tracking", which allows the
generated Makefile to contain the necessary dependencies to
automatically rebuild the appropriate C files when included header
files are changed. This dependency tracking is nice when doing active
development on the package, but not really useful when doing a
one-time build of the package. According to automake's
documentation[1], disabling the dependency tracking provides a small
speed-up.

In some very unscientific measurements (i.e repeated only once), we
have noticed a ~3.6% reduction of the total build time of a Buildroot
toolchain after applying this patch.

[1] http://www.gnu.org/software/automake/manual/html_node/Dependency-Tracking.html

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-autotools.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
index bcc648d..83299cf 100644
--- a/package/pkg-autotools.mk
+++ b/package/pkg-autotools.mk
@@ -140,6 +140,7 @@ define $(2)_CONFIGURE_CMDS
 		--disable-documentation \
 		--with-xmlto=no \
 		--with-fop=no \
+		--disable-dependency-tracking \
 		$$(DISABLE_NLS) \
 		$$(DISABLE_LARGEFILE) \
 		$$(DISABLE_IPV6) \
@@ -169,6 +170,7 @@ define $(2)_CONFIGURE_CMDS
 		--disable-documentation \
 		--with-xmlto=no \
 		--with-fop=no \
+		--disable-dependency-tracking \
 		$$(QUIET) $$($$(PKG)_CONF_OPT) \
 	)
 endef
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 2/2] packages: no longer pass --disable-dependency-tracking in individual packages
  2014-08-28 21:03 [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking Thomas Petazzoni
@ 2014-08-28 21:03 ` Thomas Petazzoni
  2014-08-29  7:18 ` [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking Peter Korsgaard
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2014-08-28 21:03 UTC (permalink / raw)
  To: buildroot

Now that --disable-dependency-tracking is passed by the
autotools-package infrastructure, there's no longer any reason to pass
it in individual packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/agentpp/agentpp.mk     | 3 +--
 package/coreutils/coreutils.mk | 1 -
 package/iperf/iperf.mk         | 1 -
 package/metacity/metacity.mk   | 1 -
 package/mysql/mysql.mk         | 1 -
 5 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/package/agentpp/agentpp.mk b/package/agentpp/agentpp.mk
index 46cdc1d..3656fb1 100644
--- a/package/agentpp/agentpp.mk
+++ b/package/agentpp/agentpp.mk
@@ -14,7 +14,6 @@ AGENTPP_DEPENDENCIES = host-pkgconf snmppp
 AGENTPP_CONF_OPT += \
 	--disable-proxy \
 	--disable-forwarder \
-	--disable-rpath \
-	--disable-dependency-tracking
+	--disable-rpath
 
 $(eval $(autotools-package))
diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
index af202b4..07a1347 100644
--- a/package/coreutils/coreutils.mk
+++ b/package/coreutils/coreutils.mk
@@ -61,7 +61,6 @@ COREUTILS_CONF_ENV = ac_cv_c_restrict=no \
 		PERL=missing
 
 COREUTILS_CONF_OPT = --disable-rpath \
-		--disable-dependency-tracking \
 		--enable-install-program=hostname
 
 define COREUTILS_POST_INSTALL
diff --git a/package/iperf/iperf.mk b/package/iperf/iperf.mk
index c570d67..1e5606e 100644
--- a/package/iperf/iperf.mk
+++ b/package/iperf/iperf.mk
@@ -13,7 +13,6 @@ IPERF_CONF_ENV = \
 	ac_cv_sizeof_bool=1
 
 IPERF_CONF_OPT = \
-	--disable-dependency-tracking \
 	--disable-web100
 
 $(eval $(autotools-package))
diff --git a/package/metacity/metacity.mk b/package/metacity/metacity.mk
index 6ded5d1..60c6250 100644
--- a/package/metacity/metacity.mk
+++ b/package/metacity/metacity.mk
@@ -15,7 +15,6 @@ METACITY_LICENSE_FILES = COPYING
 METACITY_CONF_OPT = --x-includes=$(STAGING_DIR)/usr/include/X11 \
 		--x-libraries=$(STAGING_DIR)/usr/lib \
 		--disable-glibtest --disable-gconf \
-		--disable-dependency-tracking \
 		--disable-sm --disable-startup-notification
 
 METACITY_DEPENDENCIES = libgtk2 \
diff --git a/package/mysql/mysql.mk b/package/mysql/mysql.mk
index 0802860..e5124d5 100644
--- a/package/mysql/mysql.mk
+++ b/package/mysql/mysql.mk
@@ -51,7 +51,6 @@ HOST_MYSQL_CONF_OPT = \
 
 MYSQL_CONF_OPT += \
 	--localstatedir=/var/mysql \
-	--disable-dependency-tracking \
 	--with-atomic-ops=up \
 	--with-embedded-server \
 	--without-query-cache \
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking
  2014-08-28 21:03 [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking Thomas Petazzoni
  2014-08-28 21:03 ` [Buildroot] [PATCH 2/2] packages: no longer pass --disable-dependency-tracking in individual packages Thomas Petazzoni
@ 2014-08-29  7:18 ` Peter Korsgaard
  2014-08-29  7:21   ` Thomas Petazzoni
  1 sibling, 1 reply; 5+ messages in thread
From: Peter Korsgaard @ 2014-08-29  7:18 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > By default, automake does "dependency tracking", which allows the
 > generated Makefile to contain the necessary dependencies to
 > automatically rebuild the appropriate C files when included header
 > files are changed. This dependency tracking is nice when doing active
 > development on the package, but not really useful when doing a
 > one-time build of the package. According to automake's
 > documentation[1], disabling the dependency tracking provides a small
 > speed-up.

 > In some very unscientific measurements (i.e repeated only once), we
 > have noticed a ~3.6% reduction of the total build time of a Buildroot
 > toolchain after applying this patch.

 > [1] http://www.gnu.org/software/automake/manual/html_node/Dependency-Tracking.html

3% isn't much, but OK - Committed both to next, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking
  2014-08-29  7:18 ` [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking Peter Korsgaard
@ 2014-08-29  7:21   ` Thomas Petazzoni
  2014-08-29  7:58     ` Peter Korsgaard
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2014-08-29  7:21 UTC (permalink / raw)
  To: buildroot

Dear Peter Korsgaard,

On Fri, 29 Aug 2014 09:18:15 +0200, Peter Korsgaard wrote:
> >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:
> 
>  > By default, automake does "dependency tracking", which allows the
>  > generated Makefile to contain the necessary dependencies to
>  > automatically rebuild the appropriate C files when included header
>  > files are changed. This dependency tracking is nice when doing active
>  > development on the package, but not really useful when doing a
>  > one-time build of the package. According to automake's
>  > documentation[1], disabling the dependency tracking provides a small
>  > speed-up.
> 
>  > In some very unscientific measurements (i.e repeated only once), we
>  > have noticed a ~3.6% reduction of the total build time of a Buildroot
>  > toolchain after applying this patch.
> 
>  > [1] http://www.gnu.org/software/automake/manual/html_node/Dependency-Tracking.html
> 
> 3% isn't much, but OK - Committed both to next, thanks.

Well, I was indeed a bit disappointed by the small difference. But I
believe it anyway makes more sense than having a few random packages
pass --disable-dependency-tracking.

Also, as we say in French, "les petits ruisseaux font les grandes
rivi?res", which could roughly be translated as "the small streams make
the big rivers". Everything counts :-)

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking
  2014-08-29  7:21   ` Thomas Petazzoni
@ 2014-08-29  7:58     ` Peter Korsgaard
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2014-08-29  7:58 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

Hi,

 >> 3% isn't much, but OK - Committed both to next, thanks.

 > Well, I was indeed a bit disappointed by the small difference. But I
 > believe it anyway makes more sense than having a few random packages
 > pass --disable-dependency-tracking.

 > Also, as we say in French, "les petits ruisseaux font les grandes
 > rivi?res", which could roughly be translated as "the small streams make
 > the big rivers". Everything counts :-)

Yeah. In Danish it is 'Mange b?kke sm? g?r en stor ?' ;)

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-08-29  7:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-28 21:03 [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking Thomas Petazzoni
2014-08-28 21:03 ` [Buildroot] [PATCH 2/2] packages: no longer pass --disable-dependency-tracking in individual packages Thomas Petazzoni
2014-08-29  7:18 ` [Buildroot] [PATCH 1/2] pkg-autotools: use --disable-dependency-tracking Peter Korsgaard
2014-08-29  7:21   ` Thomas Petazzoni
2014-08-29  7:58     ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox