corrected environment files content
cover corrected environment files content
From: Lianhao Lu <[email protected]>
1. Added libtool sysroot related param value into environment files.
2. Moved common code between meta-environment.bb and populate_sdk.bbclass into toolchain-script.bbclass.
3. Set CONFIG_SITE to pkgconfig site files for meta-toolchain.bb.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: llu/bug728
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=llu/bug728
Thanks,
Lianhao Lu <[email protected]>
---
Lianhao Lu (3):
toolchain-scripts.bbclass: Added libtool sysroot support. meta-environment/populate_sdk: moving common code to
toolchain-script.
meta-toolchain.bb: Set value for CONFIG_SITE.
meta/classes/populate_sdk.bbclass | 14 +---------- meta/classes/toolchain-scripts.bbclass | 34 +++++++++++++++++++++++----- meta/recipes-core/meta/meta-environment.bb | 16 ++---------- meta/recipes-core/meta/meta-toolchain.bb | 4 ++- 4 files changed, 36 insertions(+), 32 deletions(-)
PATCH 1/3 toolchain-scripts.bbclass: Added libtool sysroot support.
From: Lianhao Lu <[email protected]>
1. Added missing --with-libtool-sysroot and --sysroot in environment files.
2. added new functions to generate siteconfig file and version file.
--- meta/classes/toolchain-scripts.bbclass | 34 ++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 6 deletions(-)
meta/classes/toolchain-scripts.bbclass +28 -6
@@ -14,7 +14,7 @@ toolchain_create_sdk_env_script () { echo 'export CXX=${TARGET_PREFIX}g++' >> $script echo 'export GDB=${TARGET_PREFIX}gdb' >> $script echo 'export TARGET_PREFIX=${TARGET_PREFIX}' >> $script - echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux"' >> $script + echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux --with-libtool-sysroot=${SDKTARGETSYSROOT}"' >> $script if [ "${TARGET_OS}" = "darwin8" ]; then echo 'export TARGET_CFLAGS="-I${SDKTARGETSYSROOT}${includedir}"' >> $script echo 'export TARGET_LDFLAGS="-L${SDKTARGETSYSROOT}${libdir}"' >> $script
@@ -22,10 +22,8 @@ toolchain_create_sdk_env_script () { cd ${SDK_OUTPUT}${SDKTARGETSYSROOT}/usr ln -s /usr/local local fi - echo 'export CFLAGS="${TARGET_CC_ARCH}"' >> $script - echo 'export CXXFLAGS="${TARGET_CC_ARCH}"' >> $script - echo "alias opkg='LD_LIBRARY_PATH=${SDKPATHNATIVE}${libdir_nativesdk} ${SDKPATHNATIVE}${bindir_nativesdk}/opkg-cl -f ${SDKPATHNATIVE}/${sysconfdir}/opkg-sdk.conf -o ${SDKPATHNATIVE}'" >> $script - echo "alias opkg-target='LD_LIBRARY_PATH=${SDKPATHNATIVE}${libdir_nativesdk} ${SDKPATHNATIVE}${bindir_nativesdk}/opkg-cl -f ${SDKTARGETSYSROOT}${sysconfdir}/opkg.conf -o ${SDKTARGETSYSROOT}'" >> $script + echo 'export CFLAGS="${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script + echo 'export CXXFLAGS="${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script echo 'export POKY_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script echo 'export POKY_TARGET_SYSROOT="${SDKTARGETSYSROOT}"' >> $script echo 'export POKY_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
@@ -75,7 +73,7 @@ toolchain_create_sdk_env_script_for_installer () { echo 'export CXX=${TARGET_PREFIX}g++' >> $script echo 'export GDB=${TARGET_PREFIX}gdb' >> $script echo 'export TARGET_PREFIX=${TARGET_PREFIX}' >> $script - echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux"' >> $script + echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux --with-libtool-sysroot=##SDKTARGETSYSROOT##"' >> $script if [ "${TARGET_OS}" = "darwin8" ]; then echo 'export TARGET_CFLAGS="-I##SDKTARGETSYSROOT##${target_includedir}"' >> $script echo 'export TARGET_LDFLAGS="-L##SDKTARGETSYSROOT##{target_libdir}"' >> $script
@@ -90,3 +88,27 @@ toolchain_create_sdk_env_script_for_installer () { echo 'export POKY_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script echo 'export POKY_SDK_VERSION="${SDK_VERSION}"' >> $script } + +#This function create a site config file +toolchain_create_sdk_siteconfig () { + local siteconfig=$1 + shift + local files=$@ + + rm -f $siteconfig + touch $siteconfig + for sitefile in ${files} ; do + cat $sitefile >> $siteconfig + done +} + +#This function create a version information file +toolchain_create_sdk_version () { + local versionfile=$1 + rm -f $versionfile + touch $versionfile + echo 'Distro: ${DISTRO}' >> $versionfile + echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile + echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile + echo 'Timestamp: ${DATETIME}' >> $versionfile +}
Signature · 1 line
1.7.0.4
PATCH 2/3 meta-environment/populate_sdk: moving common code to toolchain-script.
In reply to Lianhao LuFrom: Lianhao Lu <[email protected]>
moving common code between populate_sdk.bbclass and meta-environment.bb into toolchain-script.bbclass.
--- meta/classes/populate_sdk.bbclass | 14 ++------------ meta/recipes-core/meta/meta-environment.bb | 16 +++------------- 2 files changed, 5 insertions(+), 25 deletions(-)
meta/classes/populate_sdk.bbclass +2 -12
@@ -29,7 +29,6 @@ fakeroot do_populate_sdk() { # Can copy pstage files here # target_pkgs=`cat ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/var/lib/opkg/status | grep Package: | cut -f 2 -d ' '` - # Fix or remove broken .la files #rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}/lib/*.la rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la
@@ -38,21 +37,12 @@ fakeroot do_populate_sdk() { ln -s /etc/ld.so.cache ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.cache # Setup site file for external use - siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS} - touch $siteconfig - for sitefile in ${CONFIG_SITE} ; do - cat $sitefile >> $siteconfig - done + toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS} ${CONFIG_SITE} toolchain_create_sdk_env_script # Add version information - versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${MULTIMACH_TARGET_SYS} - touch $versionfile - echo 'Distro: ${DISTRO}' >> $versionfile - echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile - echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile - echo 'Timestamp: ${DATETIME}' >> $versionfile + toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${MULTIMACH_TARGET_SYS} # Package it up mkdir -p ${SDK_DEPLOY}
meta/recipes-core/meta/meta-environment.bb +3 -13
@@ -2,7 +2,7 @@ DESCRIPTION = "Package of environment files for SDK" LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" LICENSE = "MIT" -PR = "r1" +PR = "r2" EXCLUDE_FROM_WORLD = "1"
@@ -22,22 +22,12 @@ do_generate_content() { rm -rf ${SDK_OUTPUT} mkdir -p ${SDK_OUTPUT}/${SDKPATH} - siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${OLD_MULTIMACH_TARGET_SYS} - - touch $siteconfig - for sitefile in ${TARGET_CONFIG_SITE} ; do - cat $sitefile >> $siteconfig - done + toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${OLD_MULTIMACH_TARGET_SYS} ${TARGET_CONFIG_SITE} toolchain_create_sdk_env_script_for_installer # Add version information - versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${OLD_MULTIMACH_TARGET_SYS} - touch $versionfile - echo 'Distro: ${DISTRO}' >> $versionfile - echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile - echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile - echo 'Timestamp: ${DATETIME}' >> $versionfile + toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${OLD_MULTIMACH_TARGET_SYS} } addtask generate_content before do_install after do_compile
Signature · 1 line
1.7.0.4
PATCH 3/3 meta-toolchain.bb: Set value for CONFIG_SITE.
In reply to Lianhao LuFrom: Lianhao Lu <[email protected]>
Set the value of CONFIG_SITE for pkgconfig site files.
--- meta/recipes-core/meta/meta-toolchain.bb | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
meta/recipes-core/meta/meta-toolchain.bb +3 -1
@@ -1,9 +1,11 @@ DESCRIPTION = "Meta package for building a installable toolchain" LICENSE = "MIT" -PR = "r1" +PR = "r2" LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ file://${POKYBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" inherit populate_sdk + +CONFIG_SITE := "${@siteinfo_get_files(d)}"
Signature · 1 line
1.7.0.4
Quoted 6 lines · Lianhao Lu
From: Lianhao Lu <[email protected]>
1. Added libtool sysroot related param value into environment files.
2. Moved common code between meta-environment.bb and populate_sdk.bbclass into toolchain-script.bbclass.
3. SetCONFIG_SITEto pkgconfig site files for meta-toolchain.bb.
Quoted 6 lines
Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: llu/bug728
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=llu/bug728Thanks,
Lianhao Lu <[email protected]>
Hi Lianhao,
It looks like part of the first patch should really be in the second patch?
I also don't understand the third change, how are CONFIG_SITE and pkgconfig connected?
Cheers,
Richard
Richard Purdie wrote on 2011-02-17:
Quoted 13 lines · Lianhao Lu
Quoted 12 lines
From: Lianhao Lu <[email protected]>
1. Added libtool sysroot related param value into environment files. 2. Moved common code between meta-environment.bb and populate_sdk.bbclass into toolchain-script.bbclass. 3. Set
CONFIG_SITEto pkgconfig site files for meta-toolchain.bb.Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: llu/bug728
Browse:
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=llu/bug728
Quoted 6 lines
Quoted 2 lines
Thanks,
Lianhao Lu <[email protected]>Hi Lianhao,
It looks like part of the first patch should really be in the second patch?
I've re-orged the patch and resent the pull requests.
Quoted 2 lines
I also don't understand the third change, how are
CONFIG_SITEand pkgconfig connected?
Sorry, it should be config site for autoconf, not pkgconfig. The original config site file generated by meta-toolchain.bb was empty because the CONFIG_SITE was never set in it.
Best Regards,
Lianhao