summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Seebach <peter.seebach@windriver.com>2013-02-17 23:31:33 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-19 08:47:35 -0800
commitec4c1ee435f43402047f41119a0bf107bf4687cc (patch)
tree2509f30cb9bdaa36f4528f3f08e4b6ecd3121b21
parent3b9636a0a986f87d996a10fcc4b01add5c4d1e64 (diff)
downloadpoky-ec4c1ee435f43402047f41119a0bf107bf4687cc.tar.gz
pseudo.inc: pseudo 1.5 uprev, support extra config flags
The pseudo 1.5 update is a moderately experimental set of changes which ought to improve performance. With these changes, pseudo uses an in-memory sqlite database which is lushed on exit, the protocol is changed to reduce waiting for server responses, and pseudo can suppress any and all fsync/fdatasync type operations. This last feature is optional, and not on by default, so we need to pass in an extra configure argument, but that argument wouldn't be known to an older configure, so... Enter PSEUDO_EXTRA_OPTS which is passed to configure, and which pseudo_1.5.bb sets by default to "--enable-force-async". (I haven't added it in pseudo_git.bb, but maybe it should be changed; I'm not quite as sure there.) The justification for these changes is that, for most of the real-world build cases I deal with, they produce a 25% or more reduction in the build time of a project. This increases when a system is heavily loaded. (From OE-Core rev: 79ddb0c33401da442dbaa8e0d73ebacf297d9185) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/pseudo/pseudo.inc8
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_1.5.bb10
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_git.bb4
3 files changed, 16 insertions, 6 deletions
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc
index 9748d5493d..3baf3af72a 100644
--- a/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/meta/recipes-devtools/pseudo/pseudo.inc
@@ -30,9 +30,9 @@ NO32LIBS ??= "1"
30# Compile for the local machine arch... 30# Compile for the local machine arch...
31do_compile () { 31do_compile () {
32 if [ "${SITEINFO_BITS}" = "64" ]; then 32 if [ "${SITEINFO_BITS}" = "64" ]; then
33 ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath 33 ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
34 else 34 else
35 ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath 35 ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
36 fi 36 fi
37 oe_runmake ${MAKEOPTS} 37 oe_runmake ${MAKEOPTS}
38} 38}
@@ -51,7 +51,7 @@ do_compile_prepend_class-native () {
51 # built this will fail and be ignored. 51 # built this will fail and be ignored.
52 make ${MAKEOPTS} distclean || : 52 make ${MAKEOPTS} distclean || :
53 53
54 ./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath 54 ./configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath
55 oe_runmake ${MAKEOPTS} libpseudo 55 oe_runmake ${MAKEOPTS} libpseudo
56 # prevent it from removing the lib, but remove everything else 56 # prevent it from removing the lib, but remove everything else
57 make 'LIB=foo' ${MAKEOPTS} distclean 57 make 'LIB=foo' ${MAKEOPTS} distclean
@@ -63,7 +63,7 @@ do_compile_prepend_class-nativesdk () {
63 # We need the 32-bit libpseudo on a 64-bit machine... 63 # We need the 32-bit libpseudo on a 64-bit machine...
64 # ... and we really, really, hope that the native host is 64 # ... and we really, really, hope that the native host is
65 # x86, or else --bits may not work. 65 # x86, or else --bits may not work.
66 ./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath 66 ./configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath
67 oe_runmake ${MAKEOPTS} libpseudo 67 oe_runmake ${MAKEOPTS} libpseudo
68 # prevent it from removing the lib, but remove everything else 68 # prevent it from removing the lib, but remove everything else
69 make 'LIB=foo' ${MAKEOPTS} distclean 69 make 'LIB=foo' ${MAKEOPTS} distclean
diff --git a/meta/recipes-devtools/pseudo/pseudo_1.5.bb b/meta/recipes-devtools/pseudo/pseudo_1.5.bb
new file mode 100644
index 0000000000..66ff6461a4
--- /dev/null
+++ b/meta/recipes-devtools/pseudo/pseudo_1.5.bb
@@ -0,0 +1,10 @@
1require pseudo.inc
2
3PR = "r3"
4
5SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"
6
7SRC_URI[md5sum] = "e735bc099f2b9fd6d3f152a8c71e6315"
8SRC_URI[sha256sum] = "41a73c59296b9d48005e0f911dd1becf25ffc3ff4cf4268020f2332efcffbf49"
9
10PSEUDO_EXTRA_OPTS ?= "--enable-force-async"
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index b895d2fe2e..0c872e355b 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -1,7 +1,7 @@
1require pseudo.inc 1require pseudo.inc
2 2
3SRCREV = "011b401fb6be38d739215e455588af4dcd707e17" 3SRCREV = "e076225ccdd10dabe3d6097c0682d8c88bd58753"
4PV = "1.4.5+git${SRCPV}" 4PV = "1.5+git${SRCPV}"
5PR = "r0" 5PR = "r0"
6 6
7DEFAULT_PREFERENCE = "-1" 7DEFAULT_PREFERENCE = "-1"