summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/go/go-cross-canadian.inc
Commit message (Collapse)AuthorAgeFilesLines
* meta: remove consecutive blank linesAlexander Kanavin2025-06-201-1/+0
| | | | | | | | | | | | | | | | | Some of them were introduced by mass-removal of S = WORKDIR/git assignments; rather than try to fix up (or redo) just these, I've run this sed command over the whole tree: sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` The rationale is that more than one empty line is wasting vertical screen space, and does nothing for readability. (From OE-Core rev: cedc4ff7c9bcfb22a20e43e47f9759f4007a4f1a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)Richard Purdie2025-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea of the base class dependency is to say "yes, I need a C cross compiler" and this was never meant to be gcc specific. Looking at the codebase, whilst we code triplets into this, it does overcomplicate things as there are only ever limited, "target", "sdk" and the class extended versions like mutlilib. After much thought, we can simplify this to virtual/cross-cc and virtual/nativesdk-cross-cc. This lets us remove the "gcc" specific element as well as removing the over complicated triplet usage. At the same time, change the much less widely used "g++" variant to "c++" for similar reasons and remove the triplet from virtual/XXX-binutils too. Backwards compatibility mappings could be left but are just going to confuse things in future so we'll just require users to update. This simplification, whilst disruptive for any toolchain focused layers, will make improved toolchain selection in the future much easier. Since we no longer have overlapping variables, some code for that can just be removed. The class extension code does need to start remapping some variables but not the crosssdk target recipe names. This patch is in two pieces, this one handles the renaming with the functional changes separate in a second for easier review even if this breaks bisection. (From OE-Core rev: 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: Drop linkmode with nativesdk/cross-canadianRichard Purdie2024-03-061-1/+1
| | | | | | | | In 1.22 this appears to cause failures and no longer appears to be needed. (From OE-Core rev: 6fe1a4336adbee546085fa76ed9448f82736a590) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go-cross-canadian.inc: drop PE, PR from /usr/src/debug pathsMartin Jansa2023-11-201-1/+1
| | | | | | | | (From OE-Core rev: 0ad662f443dfc1850d818d96f9e223086ff99ef4) Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gcc/go: Drop crosssdk suffix from virtual provides to improve dependency ↵Richard Purdie2023-05-021-2/+2
| | | | | | | | | | | | | | | handling There is little point in having "crosssdk" suffex added to the virtual provider within gcc/go since the TARGET_PREFIX or SDK_PREFIX already encapsulates this. Remove it allowing some of the special case overriding to be removed. This also allows removal of some of the MLPREFIX usage since again, the triplet also covers this. (From OE-Core rev: fe0206ba482d209b24e636d578aa68ba5e67ba1b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go-cross-canadian: use gcc-crosssdk, not gcc-nativeAlexander Kanavin2023-02-151-3/+3
| | | | | | | | | | | | | | | The recipe was building native go against build host headers and libraries, and then installing it as a nativesdk item, which is entirely incorrect. This has been working by coincidence (go generally uses C and C libraries lightly) but with go 1.20 this turned into hard breakage. Also nativesdk sysroot was being passed in incorrectly. (From OE-Core rev: 9212704a0e6ba79c3a3c4d85fc132e0ab6de1747) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: Remove three unnecessary paths from do_compile[dirs]Peter Kjellerstedt2022-03-151-1/+0
| | | | | | | | | | There is no reason to include a path in foo[dirs] if it is also in foo[cleandirs] (except if it is the last path in foo[dirs]). (From OE-Core rev: 9f610748f760b2d58d5250b55ae4b268909f33ef) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: Extract common environment setup.Alex Kube2019-11-251-6/+2
| | | | | | | | | | | | Add default values for go environment variables to go-common.inc. Override where appropriate in other go*.inc files, and use host/target tuples from goarch for setting CC flags. (From OE-Core rev: 1e3f040b1f68fa1f808851ecd9623544e935e9ad) Signed-off-by: Alex Kube <alexander.j.kube@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go-cross-canadian: set default value of DEBUG_PREFIX_MAPKai Kang2019-02-151-0/+8
| | | | | | | | | | | | | It uses gcc on build machine during go-cross-canadian bootstrap, but the gcc version may be old and not support option '-fmacro-prefix-map' which is one of default values of DEBUG_PREFIX_MAP. So set default value of DEBUG_PREFIX_MAP for go-cross-canadian. (From OE-Core rev: bd19d2b138e1a7fbfdf0b7a7dec0bc04a3aaa219) Signed-off-by: Kai Kang <kai.kang@windriver.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>
* go: disable PIE CFLAGS for nativesdk and cross-canadian buildsMatt Madison2018-03-061-3/+3
| | | | | | | | | | | | The statically-linked Go code in the toolchain is not compatible with PIE, so disable its use in the C compiler during the toolchain build. (From OE-Core rev: cc7b179917c715b29822200fe91ecd755a5750e6) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: move common settings to go-common.incMatt Madison2018-03-061-4/+0
| | | | | | | | | | | | | Eliminate some redundancy in the recipes by moving some commonly-used variable settings to the common include file. Also removed a duplicate inherit from go-target.inc that was already in go-common.inc. (From OE-Core rev: e72d2a7b7ee7913095a35ae92c3ca364de00c8a7) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: set GOMIPS envrionment variableMatt Madison2018-03-061-0/+1
| | | | | | | | | | | Go 1.10 adds support for selecting hard/soft float object code through the GOMIPS environment variable. (From OE-Core rev: f3cabc92dca3408da18f04e4af4051fba1f63c14) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: update go 1.9 -> go 1.10Matt Madison2018-03-061-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | * Patches and recipes reworked for go 1.10's significant changes to its bootstrap and build steps. * Update go1.4 source tarball used for go-native bootstrapping to the version recommended in the current go documentation * Remove test data from installed sources to eliminate some packaging QA warnings * Set GOCACHE to 'off' to disable 1.10's build caching in the go recipes and bbclass * Update go_do_compile to compile both static and dynamic objects dynamic linking is in use, since go1.10's build tool is pickier about this (From OE-Core rev: 4fd749ca6450a4870be1c1e13802f084b6eb0db6) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: Export correct GO386 value for targetPaul Barker2017-10-161-0/+1
| | | | | | | | | | | | When compiling go code for the target we need to ensure that GO386 is exported and set appropriately. This controls whether sse/sse2 instructions are used to implement floating-point operations or not. (From OE-Core rev: eba5fd5f594d65d311fa7564fa4b243248cb212a) Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: fixes for cross-canadian buildsMatt Madison2017-09-211-22/+18
| | | | | | | | | | | | | | | | | | | | * Add patch for go's make script to allow for build system != host system * Add dependencies on the appropriate crosssdk recipes, and use the crosssdk C compiler and linker * Remove bashism in the wrapper script * Restrict installation to only the tool binaries to address some packaging errors (From OE-Core rev: e2171f14a2dbf630a926a6792f6e6355f80e18b1) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go: update to go 1.9Matt Madison2017-09-141-0/+1
| | | | | | | | | | | | | | | | | * Rebased patches - dropped armhf-elf patch, should no longer be needed - dropped syslog patch which should not have been imported to begin with - reworked other patches as needed for the updated code base * Updated native, cross, cross-canadian .inc files to remove some testdata directories that contain .a files that strip chokes on during sysroot staging (From OE-Core rev: f2ccf56778433ec16f44eecaa10a610a6630df50) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go-cross-canadian: add recipeMatt Madison2017-09-121-0/+64
Enable cross-canadian builds of the Go toolchain. This requires an additional patch to the Go source to allow us to use the native GOTOOLDIR during the bootstrap phase. (From OE-Core rev: 9daa02f63a0d53ab90a515f2bd3e783187c9415b) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>