Skip to contentSkip to conversation

upgrade libc-package.bbclass; add libgcc

PATCH Applied Dexuan Cui 2 participants 4 messages Jan 17, 2011

lore
Share & tools
lore

Dexuan Cui

author
#0 lore raw

v2 cover upgrade libc-package.bbclass; add libgcc

The "libgcc: ..." patch is re-made to fix "the crt*.* and libgcc_s*.so* are not installed into target image" -- previously I didn't define PREFERRED_PROVIDER and PROVIDES properly. I tested building sato on qemumips, and I can verify the files are installed into target image now.

The "libc-package.bbclass: ..." patch is the same as the one I sent last time.

Please review the patches and pull.

Thanks!

-- Dexuan

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: dcui/master
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master

Thanks,
Dexuan Cui <[email protected]>
---

Dexuan Cui (2):
libgcc: use the new recipe (rather than gcc-runtime) to install
libgcc_s.so* and crt*.o
libc-package.bbclass: should not rm scsi/*.h

 meta/classes/libc-package.bbclass                  |    3 -
 meta/conf/distro/poky.conf                         |    2 +
 .../recipes-devtools/gcc/gcc-configure-runtime.inc |   16 +-------
 meta/recipes-devtools/gcc/gcc-package-runtime.inc  |    8 ----
 meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb     |    2 +-
 meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb     |    2 +-
 meta/recipes-devtools/gcc/libgcc_4.5.1.bb          |   42 ++++++++++++++++++++
 7 files changed, 47 insertions(+), 28 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/libgcc_4.5.1.bb
Signature · 1 line
1.7.2
author
#1 lore raw

PATCH v2 1/2 libgcc: use the new recipe (rather than gcc-runtime) to install libgcc_s.so* and crt*.o

Currently gcc-runtime installs the files, but actually gcc-runtime's do_configure checks if the files are available, so before we build gcc-runtime, we should have some recipe install the files first! -- currently gcc-cross-intermediate actually does that(gcc-cross also installs the files, but it installs into the gcc-build-internal* directory), but gcc-cross-intermediate will have its own sysroot in future, after that, gcc-runtime won't build. So let us add this new target recipe and move the installation of the files from gcc-runtime into it.

---
 meta/conf/distro/poky.conf                         |    2 +
 .../recipes-devtools/gcc/gcc-configure-runtime.inc |   16 +-------
 meta/recipes-devtools/gcc/gcc-package-runtime.inc  |    8 ----
 meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb     |    2 +-
 meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb     |    2 +-
 meta/recipes-devtools/gcc/libgcc_4.5.1.bb          |   42 ++++++++++++++++++++
 6 files changed, 47 insertions(+), 25 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/libgcc_4.5.1.bb
meta/conf/distro/poky.conf +2 -0
index 1c5c721..31f1e41 100644
@@ -87,6 +87,8 @@ VIRTUAL-RUNTIME_update-alternatives ?= "update-alternatives-cworth"
 # Others:
 PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers"
 PREFERRED_PROVIDER_linux-libc-headers-nativesdk ?= "linux-libc-headers-nativesdk"
+PREFERRED_PROVIDER_libgcc ?= "libgcc"
+PREFERRED_PROVIDER_libgcc-nativesdk ?= "libgcc-nativesdk"
 PREFERRED_PROVIDER_dbus-glib ?= "dbus-glib"
 PREFERRED_PROVIDER_dbus-glib-native ?= "dbus-glib-native"
 PREFERRED_PROVIDER_gconf ?= "gconf-dbus"
meta/recipes-devtools/gcc/gcc-configure-runtime.inc +1 -15
index f9ad61d..6cc11e2 100644
@@ -31,28 +31,14 @@ do_compile () {
 }
 
 do_install () {
-	target=`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##`
-
-	# Install libgcc from our gcc-cross saved data
-	install -d ${D}${base_libdir} ${D}${libdir}
-	cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${D}
-
 	for d in ${RUNTIMETARGET}; do
 		cd ${B}/$d/
 		oe_runmake 'DESTDIR=${D}' install
 	done
-
-	# Move libgcc_s into /lib
-	mkdir -p ${D}${base_libdir}
-	if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then
-		mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir}
-	else
-		mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true
-	fi
 }
 
 INHIBIT_DEFAULT_DEPS = "1"
-DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc"
 PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs"
 
 BBCLASSEXTEND = "nativesdk"
meta/recipes-devtools/gcc/gcc-package-runtime.inc +0 -8
index 40a9ed0..e8c9011 100644
@@ -1,6 +1,4 @@
 PACKAGES = "\
-  libgcc \
-  libgcc-dev \
   libstdc++ \
   libstdc++-precompile-dev \
   libstdc++-dev \
@@ -14,12 +12,6 @@ PACKAGES = "\
   libmudflap-dev \
 "
 
-FILES_libgcc = "${base_libdir}/libgcc*.so.*"
-FILES_libgcc-dev = " \
-  ${base_libdir}/libgcc*.so \
-  ${libdir}/${TARGET_SYS}/${BINV}/crt* \
-  ${libdir}/${TARGET_SYS}/${BINV}/libgcc*"
-
 FILES_libg2c = "${target_libdir}/libg2c.so.*"
 FILES_libg2c-dev = "\
   ${libdir}/libg2c.so \
meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb +1 -1
index 6b375f3..99f927a 100644
@@ -1,4 +1,4 @@
-PR = "r17"
+PR = "r18"
 
 require gcc-${PV}.inc
 require gcc-configure-runtime.inc
meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb +1 -1
index ca22e8b..093f9bf 100644
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r2"
 
 require gcc-${PV}.inc
 require gcc-configure-runtime.inc
meta/recipes-devtools/gcc/libgcc_4.5.1.bb new file +42 -0

42 lines not on this page · raw message

Signature · 1 line
1.7.2
author
#2 lore raw

PATCH v2 2/2 libc-package.bbclass: should not rm scsi/*.h

In reply to Dexuan Cui

{e}glibc should install the scsi/*.h files, which are needed by hal. Currently hal can build because eglibc-initial (which has its own do_install) installs the files. In future eglibc will have its own sysroot, so hal won't build.

BTW: in OE side, eglibc's do_install also doesn't remove the files.

---
 meta/classes/libc-package.bbclass |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)
meta/classes/libc-package.bbclass +0 -3
index 4709b33..733f26b 100644
@@ -95,9 +95,6 @@ do_install() {
 		mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
 	done
 	rm -f ${D}{sysconfdir}/rpc
-	rm -f ${D}${includedir}/scsi/sg.h
-	rm -f ${D}${includedir}/scsi/scsi_ioctl.h
-	rm -f ${D}${includedir}/scsi/scsi.h
 	rm -rf ${D}${datadir}/zoneinfo
 	rm -rf ${D}${libexecdir}/getconf
 }
Signature · 1 line
1.7.2
#3 lore raw
In reply to Dexuan Cui
Quoted 8 lines · Dexuan Cui

The "libgcc: ..." patch is re-made to fix "the crt*.* and libgcc_s*.so* are not installed into target image" -- previously I didn't define PREFERRED_PROVIDER and PROVIDES properly. I tested building sato on qemumips, and I can verify the files are installed into target image now.

The "libc-package.bbclass: ..." patch is the same as the one I sent last time.

Please review the patches and pull.

Merged into master, thanks!

Richard