diff options
author | Dexuan Cui <dexuan.cui@intel.com> | 2011-01-15 18:47:50 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-17 22:04:50 +0000 |
commit | 0df3c481309e89b93e8a57773eb9c470b4dd13a7 (patch) | |
tree | d8f0bbaa5672dee61273d5502546409034d0a5d8 | |
parent | 2ce2c1e6f9c5196c4346c3839bf594dd821c20ee (diff) | |
download | openembedded-core-0df3c481309e89b93e8a57773eb9c470b4dd13a7.tar.gz openembedded-core-0df3c481309e89b93e8a57773eb9c470b4dd13a7.tar.bz2 openembedded-core-0df3c481309e89b93e8a57773eb9c470b4dd13a7.zip |
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.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
-rw-r--r-- | meta/conf/distro/poky.conf | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-configure-runtime.inc | 16 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-package-runtime.inc | 8 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/libgcc_4.5.1.bb | 42 |
6 files changed, 47 insertions, 25 deletions
diff --git a/meta/conf/distro/poky.conf b/meta/conf/distro/poky.conf index 1c5c72104b..31f1e41ed1 100644 --- a/meta/conf/distro/poky.conf +++ b/meta/conf/distro/poky.conf @@ -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" diff --git a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc index f9ad61d129..6cc11e2ffe 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc @@ -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" diff --git a/meta/recipes-devtools/gcc/gcc-package-runtime.inc b/meta/recipes-devtools/gcc/gcc-package-runtime.inc index 40a9ed0d70..e8c901131e 100644 --- a/meta/recipes-devtools/gcc/gcc-package-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-package-runtime.inc @@ -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 \ diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb index 6b375f323a..99f927a8f3 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb +++ b/meta/recipes-devtools/gcc/gcc-runtime_4.3.3.bb @@ -1,4 +1,4 @@ -PR = "r17" +PR = "r18" require gcc-${PV}.inc require gcc-configure-runtime.inc diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb index ca22e8be38..093f9bf963 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb @@ -1,4 +1,4 @@ -PR = "r1" +PR = "r2" require gcc-${PV}.inc require gcc-configure-runtime.inc diff --git a/meta/recipes-devtools/gcc/libgcc_4.5.1.bb b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb new file mode 100644 index 0000000000..a99fdeffd4 --- /dev/null +++ b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb @@ -0,0 +1,42 @@ +require gcc-${PV}.inc + +PR = "r0" + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" + +PACKAGES = "\ + ${PN} \ + ${PN}-dev \ + " + +FILES_${PN} = "${base_libdir}/libgcc*.so.*" +FILES_${PN}-dev = " \ + ${base_libdir}/libgcc*.so \ + ${libdir}/${TARGET_SYS}/${BINV}/crt* \ + ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" + +do_fetch[noexec] = "1" +do_unpack[noexec] = "1" +do_patch[noexec] = "1" +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +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} + + # 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 +} + +BBCLASSEXTEND = "nativesdk" + |