diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-07 18:28:05 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-14 22:30:56 +0000 |
commit | 28fa3044d5e978de5801cf9fa02ae596e9ebc833 (patch) | |
tree | a5605da733056815c3444e5b1e275c907438bfe1 /meta | |
parent | f5e681d8677d7dd528cc316e937ff186ede8ca9a (diff) | |
download | poky-28fa3044d5e978de5801cf9fa02ae596e9ebc833.tar.gz |
automake: Remove delays in configure scripts using automake
By default automake puts "sleep 1" into the start of configure scripts
which adds pointless delays to them. Rather than do this, lets just assume
our systems are sane.
Since this means our patches touch m4 files, we need to stop automake running
autoreconf so we tweak the do_configure to avoid this.
(From OE-Core rev: 25eca6793cd4ad7af7e23669ed4f47d075ec696d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-devtools/automake/automake.inc | 3 | ||||
-rw-r--r-- | meta/recipes-devtools/automake/automake/performance.patch | 73 | ||||
-rw-r--r-- | meta/recipes-devtools/automake/automake_1.15.bb | 3 |
3 files changed, 78 insertions, 1 deletions
diff --git a/meta/recipes-devtools/automake/automake.inc b/meta/recipes-devtools/automake/automake.inc index a1debd8d53..4f9b5f7740 100644 --- a/meta/recipes-devtools/automake/automake.inc +++ b/meta/recipes-devtools/automake/automake.inc | |||
@@ -10,6 +10,9 @@ SRC_URI = "${GNU_MIRROR}/automake/automake-${PV}.tar.gz" | |||
10 | inherit autotools texinfo | 10 | inherit autotools texinfo |
11 | 11 | ||
12 | do_configure() { | 12 | do_configure() { |
13 | # We can end up patching macros, which would then mean autoreconf | ||
14 | # Cheat by saying everything is up to date. | ||
15 | touch ${S}/aclocal.m4 ${S}/Makefile.in ${S}/configure | ||
13 | oe_runconf | 16 | oe_runconf |
14 | } | 17 | } |
15 | 18 | ||
diff --git a/meta/recipes-devtools/automake/automake/performance.patch b/meta/recipes-devtools/automake/automake/performance.patch new file mode 100644 index 0000000000..3e6d5694dc --- /dev/null +++ b/meta/recipes-devtools/automake/automake/performance.patch | |||
@@ -0,0 +1,73 @@ | |||
1 | By default automake puts "sleep 1" into the start of configure scripts | ||
2 | which adds pointless delays to them. Rather than do this, lets just assume | ||
3 | our systems are sane. | ||
4 | |||
5 | RP | ||
6 | 2015/12/7 | ||
7 | Upstream-Status: Inappropriate | ||
8 | |||
9 | Index: automake-1.15/m4/sanity.m4 | ||
10 | =================================================================== | ||
11 | --- automake-1.15.orig/m4/sanity.m4 | ||
12 | +++ automake-1.15/m4/sanity.m4 | ||
13 | @@ -23,60 +23,5 @@ case $srcdir in | ||
14 | AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; | ||
15 | esac | ||
16 | |||
17 | -# Do 'set' in a subshell so we don't clobber the current shell's | ||
18 | -# arguments. Must try -L first in case configure is actually a | ||
19 | -# symlink; some systems play weird games with the mod time of symlinks | ||
20 | -# (eg FreeBSD returns the mod time of the symlink's containing | ||
21 | -# directory). | ||
22 | -if ( | ||
23 | - am_has_slept=no | ||
24 | - for am_try in 1 2; do | ||
25 | - echo "timestamp, slept: $am_has_slept" > conftest.file | ||
26 | - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` | ||
27 | - if test "$[*]" = "X"; then | ||
28 | - # -L didn't work. | ||
29 | - set X `ls -t "$srcdir/configure" conftest.file` | ||
30 | - fi | ||
31 | - if test "$[*]" != "X $srcdir/configure conftest.file" \ | ||
32 | - && test "$[*]" != "X conftest.file $srcdir/configure"; then | ||
33 | - | ||
34 | - # If neither matched, then we have a broken ls. This can happen | ||
35 | - # if, for instance, CONFIG_SHELL is bash and it inherits a | ||
36 | - # broken ls alias from the environment. This has actually | ||
37 | - # happened. Such a system could not be considered "sane". | ||
38 | - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken | ||
39 | - alias in your environment]) | ||
40 | - fi | ||
41 | - if test "$[2]" = conftest.file || test $am_try -eq 2; then | ||
42 | - break | ||
43 | - fi | ||
44 | - # Just in case. | ||
45 | - sleep 1 | ||
46 | - am_has_slept=yes | ||
47 | - done | ||
48 | - test "$[2]" = conftest.file | ||
49 | - ) | ||
50 | -then | ||
51 | - # Ok. | ||
52 | - : | ||
53 | -else | ||
54 | - AC_MSG_ERROR([newly created file is older than distributed files! | ||
55 | -Check your system clock]) | ||
56 | -fi | ||
57 | AC_MSG_RESULT([yes]) | ||
58 | -# If we didn't sleep, we still need to ensure time stamps of config.status and | ||
59 | -# generated files are strictly newer. | ||
60 | -am_sleep_pid= | ||
61 | -if grep 'slept: no' conftest.file >/dev/null 2>&1; then | ||
62 | - ( sleep 1 ) & | ||
63 | - am_sleep_pid=$! | ||
64 | -fi | ||
65 | -AC_CONFIG_COMMANDS_PRE( | ||
66 | - [AC_MSG_CHECKING([that generated files are newer than configure]) | ||
67 | - if test -n "$am_sleep_pid"; then | ||
68 | - # Hide warnings about reused PIDs. | ||
69 | - wait $am_sleep_pid 2>/dev/null | ||
70 | - fi | ||
71 | - AC_MSG_RESULT([done])]) | ||
72 | -rm -f conftest.file | ||
73 | ]) | ||
diff --git a/meta/recipes-devtools/automake/automake_1.15.bb b/meta/recipes-devtools/automake/automake_1.15.bb index c33dc22679..4f280ba8c3 100644 --- a/meta/recipes-devtools/automake/automake_1.15.bb +++ b/meta/recipes-devtools/automake/automake_1.15.bb | |||
@@ -20,7 +20,8 @@ RDEPENDS_${PN}_class-native = "autoconf-native perl-native-runtime" | |||
20 | 20 | ||
21 | SRC_URI += " file://python-libdir.patch \ | 21 | SRC_URI += " file://python-libdir.patch \ |
22 | file://py-compile-compile-only-optimized-byte-code.patch \ | 22 | file://py-compile-compile-only-optimized-byte-code.patch \ |
23 | file://buildtest.patch" | 23 | file://buildtest.patch \ |
24 | file://performance.patch" | ||
24 | 25 | ||
25 | SRC_URI[md5sum] = "716946a105ca228ab545fc37a70df3a3" | 26 | SRC_URI[md5sum] = "716946a105ca228ab545fc37a70df3a3" |
26 | SRC_URI[sha256sum] = "7946e945a96e28152ba5a6beb0625ca715c6e32ac55f2e353ef54def0c8ed924" | 27 | SRC_URI[sha256sum] = "7946e945a96e28152ba5a6beb0625ca715c6e32ac55f2e353ef54def0c8ed924" |