Skip to contentSkip to conversation

corrected environment files content

PATCH In review Lianhao Lu 2 participants 6 messages Feb 16, 2011 – Feb 17, 2011

lore
Share & tools
lore

Lianhao Lu

author
#0 lore raw

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(-)
author
#1 lore raw

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
index b2165bc..2b9cfac 100644
@@ -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
author
#2 lore raw

PATCH 2/3 meta-environment/populate_sdk: moving common code to toolchain-script.

In reply to Lianhao Lu

From: 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
index 7e260ef..211f6dd 100644
@@ -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
index 4ba919f..0b88260 100644
@@ -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
author
#3 lore raw

PATCH 3/3 meta-toolchain.bb: Set value for CONFIG_SITE.

In reply to Lianhao Lu

From: 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
index feff9ac..2443b38 100644
@@ -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
#4 lore raw
In reply to Lianhao Lu
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. Set CONFIG_SITE to 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/bug728

Thanks,
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

#5 lore raw

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_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

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_SITE and 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