From: Koen Kooi <k.kooi@student.utwente.nl>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [RFC][PATCH] meta-toolchain: use MULTIMACH_TARGET_SYS instead of TARGET_SYS
Date: Fri, 23 Apr 2010 13:07:55 +0200 [thread overview]
Message-ID: <hqrv2b$a7u$1@dough.gmane.org> (raw)
In-Reply-To: <1271852471-16659-1-git-send-email-koen.kooi@gmail.com>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ping
On 21-04-10 14:21, Koen Kooi wrote:
> From: Koen Kooi <koen@openembedded.org>
>
> This is the first step to be able to mix multiple arm archs (and ABIs) when installing multiple SDKs on one buildhost (e.g. armv4 and armv7a).
>
> ---
> recipes/meta/meta-toolchain.bb | 50 ++++++++++++++++++++--------------------
> 1 files changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/recipes/meta/meta-toolchain.bb b/recipes/meta/meta-toolchain.bb
> index adc057a..2e2196a 100644
> --- a/recipes/meta/meta-toolchain.bb
> +++ b/recipes/meta/meta-toolchain.bb
> @@ -10,7 +10,7 @@ SDK_OUTPUT2 = "${SDK_DIR}/image-extras"
> SDK_DEPLOY = "${DEPLOY_DIR}/sdk"
>
> IPKG_HOST = "opkg-cl -f ${IPKGCONF_SDK} -o ${SDK_OUTPUT}"
> -IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}"
> +IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}"
>
> TOOLCHAIN_HOST_TASK ?= "task-sdk-host"
> TOOLCHAIN_TARGET_TASK ?= "task-sdk-bare"
> @@ -26,14 +26,14 @@ RDEPENDS = "${DISTRO_FEED_CONFIGS} ${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TAS
> TOOLCHAIN_FEED_URI ?= "${DISTRO_FEED_URI}"
>
> modify_opkg_conf () {
> - OUTPUT_OPKGCONF_TARGET="${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}/opkg.conf"
> - OUTPUT_OPKGCONF_HOST="${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}/opkg-sdk.conf"
> + OUTPUT_OPKGCONF_TARGET="${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/${sysconfdir}/opkg.conf"
> + OUTPUT_OPKGCONF_HOST="${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/${sysconfdir}/opkg-sdk.conf"
> OUTPUT_OPKGCONF_SDK="${SDK_OUTPUT}/${sysconfdir}/opkg-sdk.conf"
> rm -f ${OUTPUT_OPKGCONF_TARGET}
> rm -f ${OUTPUT_OPKGCONF_HOST}
> rm -f ${OUTPUT_OPKGCONF_SDK}
>
> - if [ -e ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}/opkg/arch.conf ] ; then
> + if [ -e ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/${sysconfdir}/opkg/arch.conf ] ; then
> echo "Creating empty opkg.conf since arch.conf is already present"
> echo > ${OUTPUT_OPKGCONF_TARGET}
> else
> @@ -53,7 +53,7 @@ do_populate_sdk() {
> rm -rf ${SDK_OUTPUT}
> mkdir -p ${SDK_OUTPUT}
> mkdir -p ${SDK_OUTPUT}${libdir}/opkg/
> - mkdir -p ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}${libdir}/opkg/
> + mkdir -p ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}${libdir}/opkg/
>
> package_generate_ipkg_conf
>
> @@ -79,17 +79,17 @@ do_populate_sdk() {
> # Clean up empty directories from excluded packages
> find ${SDK_OUTPUT} -depth -type d -empty -print0 | xargs -r0 /bin/rmdir
>
> - install -d ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}
> - install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/${sysconfdir}/
> + install -d ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/${sysconfdir}
> + install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/${sysconfdir}/
>
> install -d ${SDK_OUTPUT}/${SDKPATH}/${sysconfdir}
> install -m 0644 ${IPKGCONF_SDK} ${SDK_OUTPUT}/${SDKPATH}/${sysconfdir}/
>
> # extract and store ipks, pkgdata and shlibs data
> - target_pkgs=`cat ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/usr/lib/opkg/status | grep Package: | cut -f 2 -d ' '`
> + target_pkgs=`cat ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/usr/lib/opkg/status | grep Package: | cut -f 2 -d ' '`
> mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/ipk/
> mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/runtime/
> - mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/${TARGET_SYS}/shlibs/
> + mkdir -p ${SDK_OUTPUT2}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/shlibs/
> for pkg in $target_pkgs ; do
> for arch in $revipkgarchs; do
> pkgnames=${DEPLOY_DIR_IPK}/$arch/${pkg}_*_$arch.ipk
> @@ -107,7 +107,7 @@ do_populate_sdk() {
> cp ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ${SDK_OUTPUT2}/${SDKPATH}/pkgdata/$pkg_subdir/runtime/
> fi
> if [ -e ${STAGING_DIR_TARGET}/shlibs/$subpkg.list ]; then
> - cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT2}/${SDKPATH}/${TARGET_SYS}/shlibs/
> + cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT2}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/shlibs/
> fi
> done
> break
> @@ -119,20 +119,20 @@ do_populate_sdk() {
> # libgcc-dev should be responsible for that, but it's not getting built
> # RP: it gets smashed up depending on the order that gcc, gcc-cross and
> # gcc-cross-sdk get built :( (30/11/07)
> - ln -sf libgcc_s.so.1 ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/lib/libgcc_s.so
> + ln -sf libgcc_s.so.1 ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/lib/libgcc_s.so
>
> # With sysroot support, gcc expects the default C++ headers to be
> # in a specific place.
> - install -d ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/include
> - mv ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/usr/include/c++ \
> - ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS}/include/
> + install -d ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/include
> + mv ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/usr/include/c++ \
> + ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS}/include/
>
> # Fix or remove broken .la files
> - for i in `find ${SDK_OUTPUT}/${SDKPATH}/${TARGET_SYS} -name \*.la`; do
> - sed -i -e "/^dependency_libs=/s,\([[:space:]']\)${base_libdir},\1\$SDK_PATH/\$TARGET_SYS${base_libdir},g" \
> - -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1\$SDK_PATH/\$TARGET_SYS${libdir},g" \
> - -e "/^dependency_libs=/s,\-\([LR]\)${base_libdir},-\1\$SDK_PATH/\$TARGET_SYS${base_libdir},g" \
> - -e "/^dependency_libs=/s,\-\([LR]\)${libdir},-\1\$SDK_PATH/\$TARGET_SYS${libdir},g" \
> + for i in `find ${SDK_OUTPUT}/${SDKPATH}/${MULTIMACH_TARGET_SYS} -name \*.la`; do
> + sed -i -e "/^dependency_libs=/s,\([[:space:]']\)${base_libdir},\1\$SDK_PATH/\$MULTIMACH_TARGET_SYS${base_libdir},g" \
> + -e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1\$SDK_PATH/\$MULTIMACH_TARGET_SYS${libdir},g" \
> + -e "/^dependency_libs=/s,\-\([LR]\)${base_libdir},-\1\$SDK_PATH/\$MULTIMACH_TARGET_SYS${base_libdir},g" \
> + -e "/^dependency_libs=/s,\-\([LR]\)${libdir},-\1\$SDK_PATH/\$MULTIMACH_TARGET_SYS${libdir},g" \
> -e 's/^installed=yes$/installed=no/' $i
> done
> rm -f ${SDK_OUTPUT}/${SDKPATH}/lib/*.la
> @@ -148,15 +148,15 @@ do_populate_sdk() {
> script=${SDK_OUTPUT}/${SDKPATH}/environment-setup
> touch $script
> echo 'export SDK_PATH=${SDKPATH}' >> $script
> - echo 'export TARGET_SYS=${TARGET_SYS}' >> $script
> + echo 'export MULTIMACH_TARGET_SYS=${MULTIMACH_TARGET_SYS}' >> $script
> echo 'export PATH=$SDK_PATH/bin:$PATH' >> $script
> - echo 'export CPATH=$SDK_PATH/$TARGET_SYS/usr/include:$CPATH' >> $script
> - echo 'export LIBTOOL_SYSROOT_PATH=$SDK_PATH/$TARGET_SYS' >> $script
> - echo 'export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH/$TARGET_SYS' >> $script
> - echo 'export PKG_CONFIG_PATH=$SDK_PATH/$TARGET_SYS${libdir}/pkgconfig' >> $script
> + echo 'export CPATH=$SDK_PATH/$MULTIMACH_TARGET_SYS/usr/include:$CPATH' >> $script
> + echo 'export LIBTOOL_SYSROOT_PATH=$SDK_PATH/$MULTIMACH_TARGET_SYS' >> $script
> + echo 'export PKG_CONFIG_SYSROOT_DIR=$SDK_PATH/$MULTIMACH_TARGET_SYS' >> $script
> + echo 'export PKG_CONFIG_PATH=$SDK_PATH/$MULTIMACH_TARGET_SYS${libdir}/pkgconfig' >> $script
> echo 'export CONFIG_SITE=$SDK_PATH/site-config' >> $script
> echo 'alias opkg="LD_LIBRARY_PATH=$SDK_PATH/lib $SDK_PATH/bin/opkg-cl -f $SDK_PATH/${sysconfdir}/opkg-sdk.conf -o $SDK_PATH"' >> $script
> - echo 'alias opkg-target="LD_LIBRARY_PATH=$SDK_PATH/lib $SDK_PATH/bin/opkg-cl -f $SDK_PATH/$TARGET_SYS${sysconfdir}/opkg.conf -o $SDK_PATH/$TARGET_SYS"' >> $script
> + echo 'alias opkg-target="LD_LIBRARY_PATH=$SDK_PATH/lib $SDK_PATH/bin/opkg-cl -f $SDK_PATH/$MULTIMACH_TARGET_SYS${sysconfdir}/opkg.conf -o $SDK_PATH/$MULTIMACH_TARGET_SYS"' >> $script
>
> # Add version information
> versionfile=${SDK_OUTPUT}/${SDKPATH}/version
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
iD8DBQFL0X+LMkyGM64RGpERAjk7AJ44eTjMVw7SD+Qapa1LdwJO5tiEXQCcCw2S
EHftzrdtZOChyR9eIKhJ0aw=
=AHEQ
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2010-04-23 11:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-21 12:21 [RFC][PATCH] meta-toolchain: use MULTIMACH_TARGET_SYS instead of TARGET_SYS Koen Kooi
2010-04-23 11:07 ` Koen Kooi [this message]
2010-04-23 18:07 ` Tom Rini
2010-04-23 18:22 ` Denys Dmytriyenko
2010-04-23 18:45 ` Koen Kooi
2010-04-23 18:55 ` Tom Rini
2010-04-23 20:29 ` Koen Kooi
2010-04-23 20:54 ` Denys Dmytriyenko
2010-04-23 21:43 ` Tom Rini
2010-04-24 17:07 ` Denys Dmytriyenko
2010-04-24 18:51 ` Tom Rini
2010-04-26 18:03 ` Denys Dmytriyenko
2010-04-27 18:18 ` Tom Rini
2010-04-30 19:35 ` Denys Dmytriyenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='hqrv2b$a7u$1@dough.gmane.org' \
--to=k.kooi@student.utwente.nl \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox