summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2015-02-05 01:31:28 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-02-05 09:46:11 +0000
commit1f53edeaf9ea59dd55459a6d5a93829fb4983839 (patch)
treeca39c21f342a3aee55fb798619ae126ee0fd7eb2
parentd8f0011c23a6b8441323974acc70b08c81cfefbd (diff)
downloadpoky-1f53edeaf9ea59dd55459a6d5a93829fb4983839.tar.gz
libtool: avoid running automake/autoconf --version
The libtool would be very slow if run "automake/autoconf --version", for example, when compile xz-native (make -j1, only compile, no confiure or install): before patched: 19s after patched: 11s Use plain text to instead of running them. NOTE: it is still a little slower than libtool 2.4.2 when compile xz-native because of other parts: make -j1: about 2s slower make -j32: about 0.4s slower If we run to do_install: (PARALLEL_MAKE = "-j32") libtool 2.4.2: $ bitbake xz-native -cinstall && bitbake xz-native -ccleansstate && time bitbake xz-native -cinstall real 0m21.092s user 0m28.292s sys 0m3.932s libtool 2.4.5: $ bitbake xz-native -cinstall && bitbake xz-native -ccleansstate && time bitbake xz-native -cinstall real 0m21.380s user 0m31.140s sys 0m4.068s About 0.3s, slightly different. But when using /bin/bash as CONFIG_SHELL, the new libtool would be much slower: real 0m23.106s user 0m44.044s sys 0m4.280s About 2s slower, for the big package like cairo, it is more slower (about 6s), unfortunately, /bin/bash is most default CONFIG_SHELL for the recipes since configure checks first check bash. (From OE-Core rev: eb9d896db2fc67bac8efd258744d06fbbee87f06) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/libtool/libtool-2.4.5.inc1
-rw-r--r--meta/recipes-devtools/libtool/libtool/avoid-running-automake-autoconf-version.patch54
2 files changed, 55 insertions, 0 deletions
diff --git a/meta/recipes-devtools/libtool/libtool-2.4.5.inc b/meta/recipes-devtools/libtool/libtool-2.4.5.inc
index 5b222504af..5ac6a78e34 100644
--- a/meta/recipes-devtools/libtool/libtool-2.4.5.inc
+++ b/meta/recipes-devtools/libtool/libtool-2.4.5.inc
@@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
18 file://dont-depend-on-help2man.patch \ 18 file://dont-depend-on-help2man.patch \
19 file://fix-resolve-lt-sysroot.patch \ 19 file://fix-resolve-lt-sysroot.patch \
20 file://nohardcodepaths.patch \ 20 file://nohardcodepaths.patch \
21 file://avoid-running-automake-autoconf-version.patch \
21 " 22 "
22 23
23SRC_URI[md5sum] = "7d30ed9fa6bb11270ebb31639a37bd54" 24SRC_URI[md5sum] = "7d30ed9fa6bb11270ebb31639a37bd54"
diff --git a/meta/recipes-devtools/libtool/libtool/avoid-running-automake-autoconf-version.patch b/meta/recipes-devtools/libtool/libtool/avoid-running-automake-autoconf-version.patch
new file mode 100644
index 0000000000..ac2d370db4
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/avoid-running-automake-autoconf-version.patch
@@ -0,0 +1,54 @@
1From 7d3b0331d91a9f80bc4bcddea929a93b07b8ef91 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Wed, 4 Feb 2015 17:14:46 -0800
4Subject: [PATCH] avoid running automake/autoconf --version
5
6The libtool would be very slow if run "automake/autoconf --version", for
7example, when compile xz (make -j1):
8
9before patched: 19s
10after patched: 11s
11
12Use plain text to instead of running them.
13
14Upstream-Status: Pending [Report to libtool community]
15
16Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
17---
18 build-aux/ltmain.in | 4 ++--
19 libtoolize.in | 4 ++--
20 2 files changed, 4 insertions(+), 4 deletions(-)
21
22diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
23index 0441e48..49cd39a 100644
24--- a/build-aux/ltmain.in
25+++ b/build-aux/ltmain.in
26@@ -152,8 +152,8 @@ include the following information:
27 compiler flags: $LTCFLAGS
28 linker: $LD (gnu? $with_gnu_ld)
29 version: $progname (GNU @PACKAGE@) @VERSION@
30- automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
31- autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
32+ automake: run $AUTOMAKE --version
33+ autoconf: run $AUTOCONF --version
34
35 Report bugs to <@PACKAGE_BUGREPORT@>.
36 GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
37diff --git a/libtoolize.in b/libtoolize.in
38index 684d799..e57c89b 100644
39--- a/libtoolize.in
40+++ b/libtoolize.in
41@@ -115,8 +115,8 @@ include the following information:
42
43 host-triplet: @host_triplet@
44 version: $progname (GNU @PACKAGE@) @VERSION@
45- automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
46- autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
47+ automake: run $AUTOMAKE --version
48+ autoconf: run $AUTOCONF --version
49
50 Report bugs to <@PACKAGE_BUGREPORT@>.
51 GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
52--
531.7.9.5
54