[OE-core] [PATCH 21/22] pseudo: Rework target, native and nativesdk pseudo intergration
Mark Hatle
mark.hatle at windriver.com
Thu Dec 6 17:03:33 UTC 2012
On 12/5/12 11:06 PM, Saul Wold wrote:
> On 12/04/2012 09:14 AM, Mark Hatle wrote:
>> Pseudo was not building and installing properly for systems where baselib
>> was not 'lib'. This change reworks the three scenerios to work properly.
>>
>> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
>> ---
>> meta/recipes-devtools/pseudo/pseudo.inc | 58 ++++++++++++-------------
>> meta/recipes-devtools/pseudo/pseudo_1.4.1.bb | 2 +-
>> meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +-
>> 3 files changed, 30 insertions(+), 32 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc
>> index 98f706c..8dc7d72 100644
>> --- a/meta/recipes-devtools/pseudo/pseudo.inc
>> +++ b/meta/recipes-devtools/pseudo/pseudo.inc
>> @@ -13,34 +13,28 @@ SRC_URI_append_class-nativesdk = " file://symver.patch"
>>
>> SRC_URI_append_class-native = " file://symver.patch"
>>
>> -FILES_${PN} = "${libdir}/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo"
>> -FILES_${PN}-dbg += "${libdir}/pseudo/lib*/.debug"
>> +FILES_${PN} = "${prefix}/lib/pseudo/lib*/libpseudo.so ${bindir}/* ${localstatedir}/pseudo ${prefix}/var/pseudo"
>> +FILES_${PN}-dbg += "${prefix}/lib/pseudo/lib*/.debug"
>> PROVIDES += "virtual/fakeroot"
>>
>> MAKEOPTS = ""
>>
>> inherit siteinfo
>>
>> -do_configure () {
>> - :
>> -}
>> -
>> -NO32LIBS ??= "1"
>> -
>> -# Compile for the local machine arch...
>> -do_compile () {
>> +do_configure_class-target () {
>> if [ "${SITEINFO_BITS}" = "64" ]; then
>> - ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
>> + mylibdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS}
>> else
>> - ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
>> + mylibdir=${prefix}/lib/pseudo/lib
>> fi
>> - oe_runmake ${MAKEOPTS}
>> + ${S}/configure --prefix=${prefix} --libdir=$mylibdir --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --without-rpath
>
> You seem to have dropped the --with-sqlite and now it does not find
> sqlite3.h for the target build as can be seen in the build appliance
> failure.
It should be sourcing it from the compiler with a #include. It was working on
all of my test builds.
But either way, there are two bugs here.. the first is pseudo isn't building for
the target -- it wasn't before either.
But the real issue is -why on earth- are we building pseudo at all for the
target. It serves no purpose that I am aware of.
I'd prefer if the fix was simply to disable pseudo for target-class builds, and
only build it for -native and -nativesdk cases.
Just drop this patch for now -- we can focus on fixing it a different way if
target builds of pseudo are needed for some reason.
--Mark
> http://autobuilder.yoctoproject.org:8010/builders/build-appliance/builds/154/steps/shell_46/logs/stdio
>
> Sau!
>
>> }
>>
>> -# Two below are the same
>> +NO32LIBS ??= "1"
>> +
>> # If necessary compile for the alternative machine arch. This is only
>> # necessary in a native build.
>> -do_compile_prepend_class-native () {
>> +do_compile_native() {
>> if [ "${SITEINFO_BITS}" = "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
>> # We need the 32-bit libpseudo on a 64-bit machine...
>> # ... and we really, really, hope that the native host is
>> @@ -56,18 +50,20 @@ do_compile_prepend_class-native () {
>> # prevent it from removing the lib, but remove everything else
>> make 'LIB=foo' ${MAKEOPTS} distclean
>> fi
>> + if [ "${SITEINFO_BITS}" = "64" ]; then
>> + ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
>> + else
>> + ${S}/configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
>> + fi
>> + oe_runmake ${MAKEOPTS}
>> }
>>
>> -do_compile_prepend_class-nativesdk () {
>> - if [ "${SITEINFO_BITS}" = "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
>> - # We need the 32-bit libpseudo on a 64-bit machine...
>> - # ... and we really, really, hope that the native host is
>> - # x86, or else --bits may not work.
>> - ./configure --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath
>> - oe_runmake ${MAKEOPTS} libpseudo
>> - # prevent it from removing the lib, but remove everything else
>> - make 'LIB=foo' ${MAKEOPTS} distclean
>> - fi
>> +do_compile_class-native () {
>> + do_compile_native
>> +}
>> +
>> +do_compile_class-nativesdk () {
>> + do_compile_native
>> }
>>
>> do_install () {
>> @@ -77,18 +73,20 @@ do_install () {
>> # Two below are the same
>> # If necessary install for the alternative machine arch. This is only
>> # necessary in a native build.
>> -do_install_append_class-native () {
>> +do_install_native () {
>> if [ "${SITEINFO_BITS}" = "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
>> mkdir -p ${D}${prefix}/lib/pseudo/lib
>> cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/.
>> fi
>> + oe_runmake 'DESTDIR=${D}' ${MAKEOPTS} 'LIB=lib/pseudo/lib$(MARK64)' install
>> +}
>> +
>> +do_install_class-native () {
>> + do_install_native
>> }
>>
>> do_install_append_class-nativesdk () {
>> - if [ "${SITEINFO_BITS}" = "64" -a -e "/usr/include/gnu/stubs-32.h" -a "${PN}" = "pseudo-native" -a "${NO32LIBS}" != "1" ]; then
>> - mkdir -p ${D}${prefix}/lib/pseudo/lib
>> - cp lib/pseudo/lib/libpseudo.so ${D}${prefix}/lib/pseudo/lib/.
>> - fi
>> + do_install_native
>> }
>>
>> BBCLASSEXTEND = "native nativesdk"
>> diff --git a/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb b/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb
>> index 70fe9c0..8367a34 100644
>> --- a/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb
>> +++ b/meta/recipes-devtools/pseudo/pseudo_1.4.1.bb
>> @@ -1,6 +1,6 @@
>> require pseudo.inc
>>
>> -PR = "r13"
>> +PR = "r14"
>>
>> SRC_URI = "http://www.yoctoproject.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2"
>>
>> diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
>> index e394ffb..c8ec5ad 100644
>> --- a/meta/recipes-devtools/pseudo/pseudo_git.bb
>> +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
>> @@ -2,7 +2,7 @@ require pseudo.inc
>>
>> SRCREV = "398a264490713c912b4ce465251a8a82a7905f45"
>> PV = "1.4.1+git${SRCPV}"
>> -PR = "r28"
>> +PR = "r29"
>>
>> DEFAULT_PREFERENCE = "-1"
>>
>>
More information about the Openembedded-core
mailing list