diff options
Diffstat (limited to 'meta/recipes-devtools/gcc')
23 files changed, 184 insertions, 42 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1.inc b/meta/recipes-devtools/gcc/gcc-4.5.1.inc index 3edc4d43dc..6c600c1896 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.1.inc +++ b/meta/recipes-devtools/gcc/gcc-4.5.1.inc @@ -30,6 +30,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://fedora/gcc43-rh341221.patch;striplevel=0 \ file://fedora/gcc43-java-debug-iface-type.patch;striplevel=0 \ file://fedora/gcc43-i386-libgomp.patch;striplevel=0 \ + file://fedora/gcc45-no-add-needed.patch;striplevel=0 \ file://103-uclibc-conf-noupstream.patch \ file://200-uclibc-locale.patch \ file://203-uclibc-locale-no__x.patch;striplevel=1 \ @@ -54,6 +55,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://optional_libstdc.patch \ file://disable_relax_pic_calls_flag.patch \ file://gcc-poison-parameters.patch \ + file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch new file mode 100644 index 0000000000..9ae01c3fc7 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch @@ -0,0 +1,33 @@ +# by default c++ include directories are not relative to "--sysroot" +# which brings one trouble when using the toolchain in an environment +# where the build directory generating that toolchain doesn't exist, +# e.g. in sstate, machine specific sysroot and relocatable SDK +# toolchain. This patch now enables c++ include paths under sysroot. +# This way it's enough as long as "--sysroot" is correctly enabled +# in the new environment. +# +# Signed-off-by Kevin Tian <kevin.tian@intel.com>, 2010-12-30 + +diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c +index 5024f48..9b47d1c 100644 +--- a/gcc/cppdefault.c ++++ b/gcc/cppdefault.c +@@ -48,15 +48,15 @@ const struct default_include cpp_include_defaults[] + = { + #ifdef GPLUSPLUS_INCLUDE_DIR + /* Pick up GNU C++ generic include files. */ +- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, ++ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 1, 0 }, + #endif + #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR + /* Pick up GNU C++ target-dependent include files. */ +- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0, 1 }, ++ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 1, 1 }, + #endif + #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR + /* Pick up GNU C++ backward and deprecated include files. */ +- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, ++ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 1, 0 }, + #endif + #ifdef LOCAL_INCLUDE_DIR + /* /usr/local/include comes before the fixincluded header files. */ diff --git a/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch b/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch new file mode 100644 index 0000000000..23704d3b71 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.5.1/fedora/gcc45-no-add-needed.patch @@ -0,0 +1,52 @@ +2010-02-08 Roland McGrath <roland@redhat.com> + + * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the + linker. + * config/linux.h (LINK_EH_SPEC): Likewise. + * config/alpha/elf.h (LINK_EH_SPEC): Likewise. + * config/ia64/linux.h (LINK_EH_SPEC): Likewise. + +--- gcc/config/alpha/elf.h.~1~ ++++ gcc/config/alpha/elf.h +@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu + I imagine that other systems will catch up. In the meantime, it + doesn't harm to make sure that the data exists to be used later. */ + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif + + /* A C statement (sans semicolon) to output to the stdio stream STREAM +--- gcc/config/ia64/linux.h.~1~ ++++ gcc/config/ia64/linux.h +@@ -58,7 +58,7 @@ do { \ + Signalize that because we have fde-glibc, we don't need all C shared libs + linked against -lgcc_s. */ + #undef LINK_EH_SPEC +-#define LINK_EH_SPEC "" ++#define LINK_EH_SPEC "--no-add-needed " + + #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h" + +--- gcc/config/linux.h.~1~ ++++ gcc/config/linux.h +@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI + } while (0) + + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif + + /* Define this so we can compile MS code for use with WINE. */ +--- gcc/config/rs6000/sysv4.h.~1~ ++++ gcc/config/rs6000/sysv4.h +@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}" + + #if defined(HAVE_LD_EH_FRAME_HDR) +-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif + + #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \ diff --git a/meta/recipes-devtools/gcc/gcc-configure-cross.inc b/meta/recipes-devtools/gcc/gcc-configure-cross.inc index 3da92e24a1..346d1640d1 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-cross.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-cross.inc @@ -5,7 +5,7 @@ USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}' EXTRA_OECONF += " --enable-poison-system-directories " EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${target_exec_prefix} \ - --with-gxx-include-dir=${STAGING_DIR_TARGET}/${target_includedir}/c++ \ + --with-gxx-include-dir=${target_includedir}/c++ \ --with-sysroot=${STAGING_DIR_TARGET} \ --with-build-sysroot=${STAGING_DIR_TARGET}" @@ -20,5 +20,3 @@ do_compile_prepend () { LIBGCCS_VAR = "-lgcc_s" LIBGCCS_VAR_avr32 = "" - -do_package_write_ipk[depends] += "virtual/libc:do_package" 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-configure-sdk.inc b/meta/recipes-devtools/gcc/gcc-configure-sdk.inc index 0eb33adda8..756e74e48d 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-sdk.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-sdk.inc @@ -5,7 +5,7 @@ USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}' USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibcgnueabi", "no", "", d )}' EXTRA_OECONF_PATHS = "--with-local-prefix=${SDKPATH}/sysroots/${TARGET_SYS}${target_exec_prefix} \ - --with-gxx-include-dir=${SDKPATH}/sysroots/${TARGET_SYS}${target_includedir}/c++ \ + --with-gxx-include-dir=${target_includedir}/c++ \ --with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \ --with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS} \ --with-build-sysroot=${STAGING_DIR_TARGET}" diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb index 98e239d92c..3eea4bcafe 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.1.bb @@ -5,7 +5,7 @@ require gcc-cross-canadian.inc require gcc-configure-sdk.inc require gcc-package-sdk.inc -PR = "r1" +PR = "r3" DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/meta/recipes-devtools/gcc/gcc-cross-initial.inc index f582de9843..4e2e343936 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-initial.inc +++ b/meta/recipes-devtools/gcc/gcc-cross-initial.inc @@ -2,6 +2,8 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils gettext-native ${NATIVEDEPS}" PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial" PACKAGES = "" +CROSS_TARGET_SYS_DIR_append = ".${PN}" + # This is intended to be a -very- basic config # sysroot is needed in case we use libc-initial EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \ diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb index 081b7d60fb..28ac1abe18 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.3.3.bb @@ -1,5 +1,5 @@ require gcc-cross_${PV}.bb require gcc-cross-initial.inc -PR = "r4" +PR = "r5" diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb index e3aea8b356..b2c257d9d4 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-initial_4.5.1.bb @@ -1,5 +1,5 @@ require gcc-cross_${PV}.bb require gcc-cross-initial.inc -PR = "r0" +PR = "r2" diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc index 72a42411b1..2e5283d691 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc +++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc @@ -3,6 +3,8 @@ DEPENDS += "virtual/${TARGET_PREFIX}libc-initial gettext-native" PROVIDES = "virtual/${TARGET_PREFIX}gcc-intermediate" PACKAGES = "" +CROSS_TARGET_SYS_DIR_append = ".${PN}" + # This is intended to be a -very- basic config # sysroot is needed in case we use libc-initial EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \ @@ -12,11 +14,14 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \ --enable-languages=c \ ${OPTSPACE} \ --program-prefix=${TARGET_PREFIX} \ - --with-sysroot=${STAGING_DIR_TARGET} \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ + --with-sysroot=${STAGING_DIR_TCBOOTSTRAP} \ + --with-build-sysroot=${STAGING_DIR_TCBOOTSTRAP} \ ${EXTRA_OECONF_INTERMEDIATE} \ ${@get_gcc_fpu_setting(bb, d)}" +do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST} ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/${target_base_libdir}" +do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_HOST} ${STAGING_DIR_TCBOOTSTRAP}/${target_base_libdir}" + do_compile () { oe_runmake } @@ -25,4 +30,30 @@ do_install () { oe_runmake 'DESTDIR=${D}' install install -d ${D}${target_base_libdir}/ mv ${D}${exec_prefix}/${TARGET_SYS}/lib/* ${D}${target_base_libdir}/ + + # We don't really need this (here shares/ contains man/, info/, locale/). + rm -rf ${D}${datadir}/ + + # We use libiberty from binutils + rm -f ${D}${exec_prefix}/lib/lib/libiberty.a + + # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are + # found. These need to be relative paths so they work in different locations. + dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/ + install -d $dest + for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do + ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t + done +} + +# +# Override the default sysroot staging copy since this won't look like a target system +# +sysroot_stage_all() { + sysroot_stage_dir ${D} ${SYSROOT_DESTDIR} + install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ + install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ + mv ${SYSROOT_DESTDIR}${target_base_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ || true + mv ${SYSROOT_DESTDIR}${target_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ || true } + diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb index 9a30cb5119..a8473b0ebe 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.3.3.bb @@ -1,4 +1,4 @@ require gcc-cross_${PV}.bb require gcc-cross-intermediate.inc -PR = "r4" +PR = "r5" diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb index 4cabe0eb4b..e65d5df671 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate_4.5.1.bb @@ -1,4 +1,4 @@ require gcc-cross_${PV}.bb require gcc-cross-intermediate.inc -PR = "r0" +PR = "r3" diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb index 445869d1f5..399cdf9296 100644 --- a/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-cross_4.5.1.bb @@ -1,4 +1,4 @@ -PR = "r0" +PR = "r2" require gcc-${PV}.inc require gcc-cross4.inc diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb index 5daa31b888..b42de471da 100644 --- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb +++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.3.3.bb @@ -1,3 +1,3 @@ require gcc-cross-initial_${PV}.bb require gcc-crosssdk-initial.inc -PR = "r5" +PR = "r6" diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb index 22cb4904b7..240caf56f7 100644 --- a/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-crosssdk-initial_4.5.1.bb @@ -1,4 +1,4 @@ require gcc-cross-initial_${PV}.bb require gcc-crosssdk-initial.inc -PR = "r0" +PR = "r2" diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb index ba42ca0e5c..a6653ddfcc 100644 --- a/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-crosssdk-intermediate_4.5.1.bb @@ -1,4 +1,4 @@ require gcc-cross-intermediate_${PV}.bb require gcc-crosssdk-intermediate.inc -PR = "r0" +PR = "r2" diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb index 6f0a5406d0..129e8d31a4 100644 --- a/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc-crosssdk_4.5.1.bb @@ -1,4 +1,4 @@ require gcc-cross_${PV}.bb require gcc-crosssdk.inc -PR = "r0" +PR = "r2" 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 4d2302d35b..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 = "r0" +PR = "r2" require gcc-${PV}.inc require gcc-configure-runtime.inc diff --git a/meta/recipes-devtools/gcc/gcc_4.5.1.bb b/meta/recipes-devtools/gcc/gcc_4.5.1.bb index 81c1fa9c2d..919d4b0938 100644 --- a/meta/recipes-devtools/gcc/gcc_4.5.1.bb +++ b/meta/recipes-devtools/gcc/gcc_4.5.1.bb @@ -1,4 +1,4 @@ -PR = "r0" +PR = "r2" require gcc-${PV}.inc require gcc-configure-target.inc require gcc-package-target.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..b6cf2685e5 --- /dev/null +++ b/meta/recipes-devtools/gcc/libgcc_4.5.1.bb @@ -0,0 +1,46 @@ +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 +} + +do_package_write_ipk[depends] += "virtual/libc:do_package" +do_package_write_deb[depends] += "virtual/libc:do_package" +do_package_write_rpm[depends] += "virtual/libc:do_package" + +BBCLASSEXTEND = "nativesdk" + |