upgrade libc-package.bbclass; add libgcc
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
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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
@@ -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
Richard Purdie
AppliedQuoted 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_PROVIDERand 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