]> code.ossystems Code Review - openembedded-core.git/commitdiff
cross-canadian: Move binaries into a subdirectory of bin to allow multimachine instal...
authorRichard Purdie <rpurdie@linux.intel.com>
Tue, 3 Aug 2010 19:04:33 +0000 (20:04 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 3 Aug 2010 19:04:33 +0000 (20:04 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/classes/cross-canadian.bbclass
meta/packages/binutils/binutils-cross-canadian.inc
meta/packages/binutils/binutils-cross-canadian_2.20.1.bb
meta/packages/gcc/gcc-cross-canadian_4.3.3.bb
meta/packages/gcc/gcc-package-sdk.inc
meta/packages/meta/meta-toolchain.bb

index 9afdd619ea51daaa5fc110cb9ca0277e5ed6b9ef..72032367ef1e974f6b23e8bcb6f7f45fdb29f9ef 100644 (file)
@@ -49,6 +49,12 @@ target_exec_prefix := "${exec_prefix}"
 base_prefix = "${SDKPATHNATIVE}"
 prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
 exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
+bindir = "${exec_prefix}/bin/${OLD_MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+sbindir = "${bindir}"
+base_bindir = "${bindir}"
+base_sbindir = "${bindir}"
+libdir = "${exec_prefix}/lib/${OLD_MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+libexecdir = "${exec_prefix}/libexec/${OLD_MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
 
 FILES_${PN} = "${prefix}"
 FILES_${PN}-dbg += "${prefix}/.debug \
index 04fa6e2de08fe28cfa1313d703c0c53f7d931777..4953bc2c3b2045715dd2cdef4fda67ad39ef1f93 100644 (file)
@@ -6,15 +6,9 @@ EXTRA_OECONF = "--with-sysroot=${SDKPATH}/sysroots/${TARGET_SYS} \
 do_install () {
         autotools_do_install
 
-       # Fix the ${prefix}/${TARGET_SYS}/bin/* files to be symlinks
-       rm ${D}${prefix}/${TARGET_SYS}/bin/.debug -Rf
-       rm ${D}${prefix}/${TARGET_SYS}/bin/*
-       for l in ${D}${bindir}/*; do
-               ln -sf "${bindir}/`basename $l`" "${D}${prefix}/${TARGET_SYS}/bin/`basename $l | sed -e 's,${TARGET_PREFIX},,'`"
-       done
-
        # We're not interested in the libs or headers, these would come from the 
        # nativesdk or target version of the binutils recipe
+       rm -rf ${D}${prefix}/${TARGET_SYS}
        rm -f ${D}${libdir}/libbfd*
        rm -f ${D}${libdir}/libiberty*
        rm -f ${D}${libdir}/libopcodes*
index 13fc22aa647c3d107a5b26e3fbff440be6ab86c0..f4a7a0e6191f26b3395f0d686a3e3ef6fd2b5d7e 100644 (file)
@@ -1,3 +1,3 @@
 require binutils_${PV}.bb
 require binutils-cross-canadian.inc
-PR = "r3"
+PR = "r4"
index 7cc202363e6d6e589214f36b751a2c4e5b29211a..981452b7a72e0f0d8fa06613981b2229cf4550f9 100644 (file)
@@ -5,7 +5,7 @@ require gcc-cross-canadian.inc
 require gcc-configure-sdk.inc
 require gcc-package-sdk.inc
 
-PR = "r16"
+PR = "r17"
 
 DEPENDS += "gmp-nativesdk mpfr-nativesdk"
 RDEPENDS_${PN} += "mpfr-nativesdk"
index cdce1da1c7d3fcb9020d7c855c3dc1de471daa6a..23b9a48eb32a62023551ef0fdb5db64e6365f635 100644 (file)
@@ -7,10 +7,7 @@ PACKAGES = "${PN} ${PN}-doc"
 
 FILES_${PN} = "\
     ${bindir}/* \
-    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
-    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
-    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771 \
-    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus \
+    ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/* \
     ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
     ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
     ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
@@ -44,11 +41,12 @@ do_install () {
        rm -f ${D}${prefix}/${TARGET_SYS}/lib/libiberty.a
        rm -f ${D}${libdir}/libiberty.a
 
-       # Create the ${prefix}/${TARGET_SYS}/bin/* symlinks
-       install -d ${D}${prefix}/${TARGET_SYS}/bin/
-       for l in ${D}${bindir}/*; do
-               ln -sf "${bindir}/`basename $l`" "${D}${prefix}/${TARGET_SYS}/bin/`basename $l | sed -e 's,${TARGET_PREFIX},,'`"
+       # Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
+       # found.
+       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 ${bindir}/${TARGET_PREFIX}$t $dest$t
        done
-       ln -sf "${bindir}/${TARGET_PREFIX}gcc" "${D}${prefix}/${TARGET_SYS}/bin/cc"
 }
 
index fad9a3406a33a8c5bdaead28294a487fbe0ffd6f..a53569b55b625e9a67fa985dbbcf2fcd849cf771 100644 (file)
@@ -73,19 +73,19 @@ do_populate_sdk() {
        rm -f ${SDK_OUTPUT}/${SDKPATHNATIVE}${libdir_nativesdk}/*.la
 
        # Setup site file for external use
-       siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${TARGET_SYS}
+       siteconfig=${SDK_OUTPUT}/${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS}
        touch $siteconfig
        for sitefile in ${CONFIG_SITE} ; do
                cat $sitefile >> $siteconfig
        done
 
        # Create environment setup script
-       script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${TARGET_SYS}
+       script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${MULTIMACH_TARGET_SYS}
        touch $script
-       echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> $script
+       echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/${MULTIMACH_TARGET_SYS}:$PATH' >> $script
        echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKTARGETSYSROOT}' >> $script
        echo 'export PKG_CONFIG_PATH=${SDKTARGETSYSROOT}${libdir}/pkgconfig' >> $script
-       echo 'export CONFIG_SITE=${SDKPATH}/site-config-${TARGET_SYS}' >> $script
+       echo 'export CONFIG_SITE=${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS}' >> $script
        echo 'export CC=${TARGET_PREFIX}gcc' >> $script
        echo 'export CXX=${TARGET_PREFIX}g++' >> $script
        echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux"' >> $script
@@ -102,7 +102,7 @@ do_populate_sdk() {
        echo "alias opkg-target='LD_LIBRARY_PATH=${SDKPATHNATIVE}${libdir_nativesdk} ${SDKPATHNATIVE}${bindir_nativesdk}/opkg-cl -f ${SDKTARGETSYSROOT}${sysconfdir}/opkg.conf -o ${SDKTARGETSYSROOT}'" >> $script
 
        # Add version information
-       versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${TARGET_SYS}
+       versionfile=${SDK_OUTPUT}/${SDKPATH}/version-${MULTIMACH_TARGET_SYS}
        touch $versionfile
        echo 'Distro: ${DISTRO}' >> $versionfile
        echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile