summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
Commit message (Collapse)AuthorAgeFilesLines
* gcc-cross-canadian: add default plugin linkerSamuli Piippo2022-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix multilib sdk issue where gcc is unable to find linker. Previous fix was in cdd86896c8d29135f937968e9aa07f919cf543d3 using real-ld symlink, but that prevented switching between bfd and gold linkers. Running compiler with debug arguments shows that collect2 tries and fails to find linker using the multilib triples: $ $CC -v -Wl,-debug ... Looking for 'real-ld' Looking for 'collect-ld' Looking for 'mips-oemllib32-linux-ld' Looking for 'mips-oe-linux-mips-oemllib32-linux-ld' ... collect2 version 12.2.0 ld_file_name = not found ... collect2: fatal error: cannot find ‘ld’ Using --with-plugin-ld=ld in gcc-cross-canadian builds to set default linker name for collect2, lets it find the linker correctly: Looking for 'real-ld' Looking for 'collect-ld' Looking for 'ld' ... collect2 version 12.2.0 ld_file_name = /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/mips-oe-linux/gcc/mips-oe-linux/12.2.0/ld Swith between bfd and gold linker works as expected now: $ $CC -v -Wl,-debug -fuse-ld=gold ... Looking for 'real-ld' Looking for 'collect-ld' Looking for 'ld.gold' ... collect2 version 12.2.0 ld_file_name = /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/i686-oe-linux/gcc/i686-oe-linux/12.2.0/ld.gold (From OE-Core rev: cf1bb16b7f9f81514feaf1e4ecffd9039387bb89) Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "gcc-cross-canadian: Add symlink to real-ld alongside other symlinks"Samuli Piippo2022-09-171-2/+0
| | | | | | | | | | | | This reverts commit cdd86896c8d29135f937968e9aa07f919cf543d3. real-ld is always used if that is found, which means you cannot switch between bfd and gold linkers using -fuse-ld gcc option. (From OE-Core rev: 53ae417c63a4a7ff4a729d3653a31cf1c0758f10) Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Add nativesdk-zstd dependencyRichard Purdie2022-06-041-1/+1
| | | | | | | | | To match the changes to gcc-cross, add a nativesdk-zstd dependency to ensure our configurations match. (From OE-Core rev: c145e00710fe557b5a3832fdc556ad53434b3615) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Fix cross canadian compiler for baremetal targetsAlejandro Hernandez Samaniego2022-01-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While building GCC it checks whether the include directory exists, if it doesnt it throws an error and exits: | The directory that should contain system headers does not exist: | tmp/work/x86_64-nativesdk-pokysdk-linux/gcc-cross-canadian-riscv32/ 11.2.0-r0/recipe-sysroot/usr/include/ | make[1]: *** [Makefile:3257: stmp-fixinc] Error 1 Even though for the baremetal toolchain not having this directory does make sense. We overcame this by removing the --with-sysroot=/not/exist argument for baremetal toolchains (via TARGET_OS override), however, the newlib toolchain does have headers and an includedir, hence by fixing the baremetal toolchain we broke the newlib one since it uses the same TARGET_OS as baremetal, causing for example (on newlib): /sdk/sysroots/x86_64-pokysdk-linux/usr/lib/riscv32-poky-elf/gcc/ riscv32-poky-elf/11.2.0/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory | # include_next <stdint.h> ^~~~~~~~~~ compilation terminated. By creating a dummy includedir, and removing the previous fix we allow GCC to be built the same way, unifying the cross compiler for all targets. After this fix both TCLIBC=baremetal and TCLIBC=newlib SDKs work properly. (From OE-Core rev: 08ff7c87efdf373f1874fcccd9a2a73fc0efef30) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: convert nested overrides leftovers to new syntaxDenys Dmytriyenko2021-08-041-4/+4
| | | | | | | | | Those were missed in previous rounds of automated and manual conversion. (From OE-Core rev: 22f9c7268b542baf6cd8aa0e34c8fb7aa1579e08) Signed-off-by: Denys Dmytriyenko <denis@denix.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to new override syntaxRichard Purdie2021-08-021-8/+8
| | | | | | | | | | | | This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: add symlinks for ld.bfd and ld.goldSamuli Piippo2021-05-251-1/+1
| | | | | | | | | | | | When -fuse-ld gcc option is used, missing ld.bfd or ld.gold symlinks can lead to linker error: collect2: fatal error: cannot find 'ld' (From OE-Core rev: 9ec1cd0a1e4cc2740be37585231279adf91c47d7) Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Install LTO linker plugin to BFD searchable locationKhem Raj2021-04-271-1/+8
| | | | | | | | | | This helps binutils provided tools ar/ranlib/nm to find the LTO linker plugin automatically as well which makes it equivalent to gcc-ar/gcc-nm/gcc-ranlib (From OE-Core rev: 7d8d0b90bea7ea01e1e9ab0ff98f22431f68a506) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Install gcc/g++ wrappers for muslKhem Raj2020-08-221-0/+23
| | | | | | | | | | | | | | gcc needs -mmusl option to be passed in SDK since we ship crossdk compiler configured for glibc by default, this helps in creating correct compiler defaults for musl based SDK compilers [YOCTO #13459] (From OE-Core rev: e6fbac7aeabe00d8fb734992012dd629a8527b25) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Leon Woestenberg <leon@sidebranch.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Correct the regexp to delete versioned gcc binaryKhem Raj2020-08-211-1/+1
| | | | | | | | | | After gcc 10 this expression needed to be adjusted, its better to use a bitbake variable which we do have readily available (From OE-Core rev: ee2beaff701d02736c8244ebc76f6d6ca96a04f4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Configure all gccs with --disable-install-libibertyKhem Raj2020-04-261-6/+0
| | | | | | | | | | | | | | | OE uses libiberty from binutils, since its properly compiled as pic archive and applications and other libraries needing libiberty can properly link with it. With this option applied, explicit delete of libiberty headers and libraries is not required in install step, since they wont get installed in first place. (From OE-Core rev: fa8a205c69770d23323c9a06373db958af4b34d3) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: A missing space in an append caused an invalid optionMark Hatle2020-02-021-2/+2
| | | | | | | | | | | | | | When configuring the cross-candian toolchain for a non-linux target system, the resulting gcc configuration included: --enable-initfini-array--without-headers these should have been two separate options. (From OE-Core rev: 7b52893632dae7bc9ac75dddc7ad625e19f41050) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Drop obsolete shlibs exclusionRichard Purdie2019-08-141-3/+0
| | | | | | | | | | | | | | | | | This is a very old change as and be inferred from the name in the comment. We've since had many changes to pkgdata including separating it to its own sysroot now so the reasons for this blanket exclusion are likely long gone. If the shlib provides were really the problem I'd much rather have a dedicated variable for that too. Removing this fixes missing dependencies on nativesdk-libc and other libs which would then happen automatically. (From OE-Core rev: 096fa15efbcb704451b2f38ceab36508ef64f07e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Make baremetal specific code genericKhem Raj2019-04-121-5/+4
| | | | | | | | | | | | | baremetal override is not valid for cross-canadian anymore therefore use the TARGET_OS overrides Fixes e.g. https://github.com/riscv/meta-riscv/issues/117 (From OE-Core rev: 1bc122a044de280d17525c8e5ee66e81775a7d8b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes: Drop virtual/libc-for-gccRichard Purdie2018-12-261-1/+1
| | | | | | | | | We no longer have special "libc" for gcc so we can rely on plain virtual/libc and reduce the complexity in the dependencies. (From OE-Core rev: 122217b421f749b5fef52bea44ad6e04bc8f8d3a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Drop gcc-cross-initial and use gcc-cross insteadRichard Purdie2018-12-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need a libgcc to build glibc. Tranditionally we therefore build a non-threaded and non-shared compiler (gcc-cross-initial), then use that to build libgcc-initial which is used to build glibc which we can then build gcc-cross and libgcc against. Firstly, we can drop the glibc dependency from gcc-cross, *if* we make two changes: a) specify the minimum glibc version to support in a configure option b) create a dummy limits.h file so that later when glibc creates one, the headers structure has support for it. We can do this with a simple empty file Once gcc-cross is libc independent, we can use it to build both libgcc-initial and then later libgcc. libgcc-initial is tricky as we need to imitate the non-threaded and non-shared case. We can do that by hacking the threading mode back to "single" even if gcc reports "posix" and disable libc presence for the libgcc-intial build. We have to create the dummy limits.h to avoid compiler errors from a missing header. glibc will fail to link with libgcc-initial due to a missing "exception handler" capable libgcc (libgcc_eh.a). Since we know glibc doesn't need any exception handler, we can safely symlink to libgcc.a. With those changes, gcc-cross can be used in all places and we only need one build of gcc for each architecture. For some reason ifunc was being disabled on mips prior to these changes but afterwards became enabled but caused assertion failures. This is therefore disabled until we can debug that. (From OE-Core rev: 62b7308b8c4d2b439a15a4f7cbc6f823077bb0be) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Remove unnecessary --with-mpfr and --with-mpc when cross compilingMike Crowe2018-10-091-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing --with-mpfr and --with-mpc when compiling the cross compiler appears to be at best unnecessary, and at worst can cause build failures. Firstly, the paths passed in gcc-cross-canadian are using the undefined ${layout_exec_prefix}. This results in configure passing -I${STAGING_DIR_HOST}/include twice to the compiler when it's doing its test builds. This is mostly pointless since that directory doesn't exist with the default oe-core configuration - the correct path would be -I${STAGING_DIR_HOST}/usr/include. The path for mpfr passed in gcc-cross is correct, but unnecessary since it is just the sysroot default. I've gone back through the history, and it seems that these lines (or similar ones) were originally added way back in 8800d8be25295dd7c7d84dde62c3be4df8e43346 for GCC 4.1.1 in 2006! I asked[1] if anyone knew why this was necessary but received no response, so I can only assume that no-one knows. I've successfully built for various targets with this patch applied and observed no problems. [1] http://lists.openembedded.org/pipermail/openembedded-core/2018-September/155971.html (From OE-Core rev: 2f9f02d5fda9884ccf9ae22ceb00d59b99036a49) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Add missing flex-native dependencyRichard Purdie2018-01-131-1/+1
| | | | | | | | | | This is needed for all stages of the cross/target/canadian compilers and without it (and with indirect gcc dependencies disabled), the steps fail. Add missing dependencies. (From OE-Core rev: e7be4aedd4f1e23c596a8cae0437bc5c187787e5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Add recipes for gcc-7Khem Raj2017-06-141-1/+2
| | | | | | | | | Switch default compiler to gcc 7 (From OE-Core rev: 03bb12008891cf1a023aaddb6547da6d41d0cab0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Use ${target_includedir} for compatibility with meta-microMike Crowe2017-06-141-2/+2
| | | | | | | | | | | | meta-micro puts headers in /include rather than /usr/include in the sysroot. ${target_includedir} means that the correct path will be used automatically. (From OE-Core rev: 12abcc3791592035d99064262eb3d229fa5ef88c) Signed-off-by: Mike Crowe <mac@mcrowe.com> Acked-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Add missing DEPENDS on virtual/${HOST_PREFIX}gcc-crosssdkRichard Purdie2016-01-261-1/+1
| | | | | | | | | The cross-canadian compiler needs the nativesdk compiler to build but for some reason this was missing. Add the missing dependency. (From OE-Core rev: 77fcdfdc83f01f1ff0ae310ebb7bffbdb4330156) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Drop now pointless manual -dbg packagingRichard Purdie2015-12-161-5/+0
| | | | | | | | | With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. (From OE-Core rev: 3ab59d49dd7c18e194b58d1248b4b87709b5a738) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian.inc: overrides for libc-baremetalJuro Bystricky2015-08-301-0/+4
| | | | | | | | | | | | | Modify configure arguments (EXTRA_OECONF) to support build for TCLIBC="baremetal" (From OE-Core rev: 87e81e469fd941fa1b41ded3e02644695cafd2dc) (From OE-Core rev: 1a79426dabf9237fa2cdd5908ff370bf1d9fa2df) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Add symlink to real-ld alongside other symlinksRichard Purdie2015-08-011-0/+2
| | | | | | | | | | | In some cases such as cross architecture configurations (using mips-X-linux on mips64-X-linux), gcc can get confused about finding a 'real' version of ld. Adding a symlink to 'real-ld' allowed these configurations to work properly. (From OE-Core rev: cdd86896c8d29135f937968e9aa07f919cf543d3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Enable stripping and packaging of binariesRichard Purdie2015-03-201-3/+6
| | | | | | | | | This seems to have been disabled since the dawn of time for no good reason. Enable the .debug stripping and packaging allowing for a smaller SDK. (From OE-Core rev: bbaf97ba38329b5221e6d4d0d18f20e6b7d6fd91) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Fix intermittent failures during configureMark Hatle2014-11-091-1/+0
| | | | | | | | | | | | | If configure or any of the components it uses from the shared work directory change, do_configure may fail. An existing do_preconfigure was created to handle these conditions, but a 'sed' operation was missed, and a call to gnu-configize was also missed. (From OE-Core rev: 21c2cfff14442cf224e3568bdbb9bcd4070be247) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: poison default sysroot pathRichard Purdie2014-10-301-2/+2
| | | | | | | | | | | | | | | | | | | Various pieces of the code assume that the --sysroot option gets passed into the compiler tools. By having a "sane" default, we don't always spot when this occurs and this can later show up as breakage in sstate, or in usage of the external toolchain. We've long since talked about poisoning the default such that it will break unless the correct option is specified. This patch does just that. If this patch causes something to fail to build, it most likely means the various compiler flags and commands are not correctly being passed through to the underlying piece of software and that there is a real problem that needs fixing, its not the fault of this patch. (From OE-Core rev: 04b725511a505c582a3abdf63d096967f0320779) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sdk: change EXTRA_OECONF_FPU to EXTRA_OECONF_GCC_FLOATPeter A. Bigot2014-08-151-1/+1
| | | | | | | | | | | | This variable is used to ensure the proper version of --with-float=FOO is passed to gcc's configure script. gcc also has a --with-fpu=FOO option that means something different. To avoid confusion, change the names to be consistent. (From OE-Core rev: c17d883fa99b6967d83c3796d22fc0c1dbe704e6) Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: remove outdated configuration optionPeter A. Bigot2014-08-151-1/+0
| | | | | | | | | | --enable-libunwind-exceptions was removed from gcc at release 3.4.3 about ten years ago. (From OE-Core rev: 285d3579727177e6962d7ad16677429e7dec65f4) Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: recipe whitespace changesPeter A. Bigot2014-08-151-10/+14
| | | | | | | | | | | Consistent use of whitespace in multi-line assignment, with special focus on OECONF modifications. Quotes on separate lines, four-space indentation, one value per line. (From OE-Core rev: d971db8b2259e4c35b871cccf130fba193849560) Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc: Ensure c++ includes are in /usr/include/c++/${BINV}Richard Tollerton2014-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | It was observed that code using STLport 4.6 fails to compile under the SDK with the following error message: .../includes/cstddef:38:46: fatal error: ../4.7.2/cstddef: No such file or directory STLport 4.6 (screwily) assumes that the C++ system headers live in a gcc-versioned subdirectory, for gcc>=3.0; cf http://sourceforge.net/p/stlport/code/ci/STLport-4.6-patch/tree/stlport/config/stl_gcc.h#l269. This assumption is *almost always* valid, because that matches the default setting of --with-gxx-include-dir. We can match that behavior by appending "/${BINV}" to our own --with-gxx-include-dir settings. Natinst-CAR-ID: 446449 Natinst-Reviewboard-ID: 57209 Acked-by: Ken Sharp <ken.sharp@ni.com> Acked-by: Ben Shelton <ben.shelton@ni.com> (From OE-Core rev: 5a2ff3e8f7cd7a47a5ab4e581847ecc4df87fca3) Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Add configure-target-libgccMark Hatle2014-06-251-3/+10
| | | | | | | | | | | | While we're not going to package the libgcc component as part of the SDK, we do need to generate it to get the unwind, and quadmath headers. Without this change it is not possible to build eglibc or other components that require these headers with the SDK toolchain. (From OE-Core rev: e67b24401a366b20644510703c7140be975869ea) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils/gcc/gdb: Add TARGET_ARCH to PN for all cross recipesRichard Purdie2014-04-301-1/+0
| | | | | | | | | This allows them to co-exist together in the native sysroot, with one set of cross tools per target architecture. (From OE-Core rev: a2c5509520d5c3e082f55844e6545d0309565f8f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross: don't use oe.path.relativeRoss Burton2014-03-071-1/+1
| | | | | | | | | | | Instead of using oe.path.relative, use the Python Standard Library function os.path.relpath. (From OE-Core rev: 90c3a0401c566e26d89a5c0410b2a51fe27b95b2) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Replace one-line DESCRIPTION with SUMMARYPaul Eggleton2014-01-021-1/+1
| | | | | | | | | | | | | | A lot of our recipes had short one-line DESCRIPTION values and no SUMMARY value set. In this case it's much better to just set SUMMARY since DESCRIPTION is defaulted from SUMMARY anyway and then the SUMMARY is at least useful. I also took the opportunity to fix up a lot of the new SUMMARY values, making them concisely explain the function of the recipe / package where possible. (From OE-Core rev: b8feee3cf21f70ba4ec3b822d2f596d4fc02a292) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Fix fortran buildRichard Purdie2013-12-021-0/+1
| | | | | | | | | When fortran was enabled, builds were failing due to a extra files. For now we can remove these and avoid the build failure. (From OE-Core rev: 2e60ef7fe63974e443a9ddc25c5eb4249ec37963) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-canadian: Handle powerpc linux verses linux-gnuspeRichard Purdie2013-10-301-1/+4
| | | | | | | | | | | | | | | | | PowerPC toolchains can use the OS "linux" or "linux-gnuspe". This patch links them together so the one cross-canadian toolchain can support both. GCC_FOR_TARGET is set for the GCC recipe as otherwise configure can pick up an incorrect value. [YOCTO #5354] (From OE-Core rev: a1d6331238982b0c5d39b0a18794f6654b00d46a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-canadian: Fix TUNE_PKGARCH referencesRichard Purdie2013-10-041-0/+5
| | | | | | | | | | | | | | | | | | The cross-canadian compilers are now build once per architecture but were being installed into tune specific locations which is incorrect. This adjusts things so they are make TARGET_ARCH specific. We gain the tune specific parts from the target sysroot which remains tune specific, the compiler and tools are independent ot that. binutils/gcc require sysroot options but since we reset at runtime, these shouldn't have dependencies in the sstate checksums. They are therefore also excluded. With these patches, switching machines does not result in a rebuild of *-cross-canadian and the compiler is correctly located and referenced in the target images. (From OE-Core rev: f58acab6414fe96d9e07ebbe86b348d2ac2bed5f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Fold configure-sdk and package-sdk into the main .incRichard Purdie2013-08-231-2/+125
| | | | | | | | | This also has the advantage of removing the confusing sdk naming which has been purged everywhere else in favour of cross-canadian. (From OE-Core rev: cbb63ca9e7e6d397198808e862f812f1012c74a7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Merge 4.7 and 4.8 recipes into common includeRichard Purdie2013-08-231-0/+19
| | | | | | | | This removes duplication and follows the pattern of the other gcc recipes. (From OE-Core rev: 3296c896f5a5ef7dd50ab4e00ddbf1c2476462dc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: enable multilib supportConstantin Musca2013-02-111-0/+1
| | | | | | | (From OE-Core rev: ee7331e3e7d0b38f3e19ccf7e394537f5f653a22) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian.inc: Add dependency on cross-gccKhem Raj2012-12-191-1/+1
| | | | | | | | | | | | | | | | gcc-cross-canadian uses cross compiler during libgcc build when building from sstate the build failed when building gcc-cross-canadian since it did not populate gcc-cross therefore add an explicit dependency on virtual/${TARGET_PREFIX}gcc to make sure that gcc-cross is available before building gcc-cross-canadian (From OE-Core rev: d9b7478e41e3065d01aa45d8d70fae2fc5ff6066) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc-cross-canadian: Fix gettext dependencyRichard Purdie2012-10-101-1/+1
| | | | | | | | | | | There was a problem in commit ad23395cd1f6c0cbfcc6980b6071d589f9f6cde0 since gettext-nativesdk was translated to gettext instead of nativesdk-gettext. This fixes to use the correct dependency. (From OE-Core rev: a6e325342cb489e05927d6cb2bb0a24fa6c20ef8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: Switch to using nativesdk as a prefix, not a suffixRichard Purdie2012-09-021-1/+1
| | | | | | | | | | | | | | | As discussed on the mailing lists, using a suffix to package names is hard and has lead to many recipes having to do PKGSUFFIX games. Its looking extremely hard to scale nativesdk much further without hacking many recipes. By comparison, using a prefix like multilib does works much better and doesn't involve "hacking" as many recipes. This change converts nativesdk to use a prefix using the existing multilib infrastructure. (From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH.Lianhao Lu2010-12-101-1/+1
| | | | | | | | | | | Using TRANSLATED_TARGET_ARCH instead of TARGET_ARCH for cross-canadian packages. This is due to the TARGET_ARCH of x86_64 would results incorrect packaging in cross-canadian packages. The pacakge name appendix of x86_64 target in cross-canadian packages is x86-64. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* cross-canadian: pkg name includes target archLianhao Lu2010-12-101-0/+4
| | | | | | | | | | | | | | This commit fixes Bug #528. 1. Added the target arch name to the pkg name of gcc-cross-canadian, gdb-cross-candian and bintuils-cross-candian. 2. Move the cross-canadian pkgs out of task-sdk-host into a new task task-cross-canadian. 3. Added the RDEPENDS of task-cross-canadian into meta-toolchain. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
* Major layout change to the packages directoryRichard Purdie2010-08-271-0/+4
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>