Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 1 | # |
| 2 | # Copyright OpenEmbedded Contributors |
| 3 | # |
| 4 | # SPDX-License-Identifier: MIT |
| 5 | # |
| 6 | |
| 7 | # Handle Go Modules support |
| 8 | # |
Patrick Williams | 2390b1b | 2022-11-03 13:47:49 -0500 | [diff] [blame] | 9 | # When using Go Modules, the current working directory MUST be at or below |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 10 | # the location of the 'go.mod' file when the go tool is used, and there is no |
| 11 | # way to tell it to look elsewhere. It will automatically look upwards for the |
| 12 | # file, but not downwards. |
| 13 | # |
| 14 | # To support this use case, we provide the `GO_WORKDIR` variable, which defaults |
| 15 | # to `GO_IMPORT` but allows for easy override. |
| 16 | # |
| 17 | # Copyright 2020 (C) O.S. Systems Software LTDA. |
| 18 | |
| 19 | # The '-modcacherw' option ensures we have write access to the cached objects so |
| 20 | # we avoid errors during clean task as well as when removing the TMPDIR. |
| 21 | GOBUILDFLAGS:append = " -modcacherw" |
| 22 | |
| 23 | inherit go |
| 24 | |
| 25 | GO_WORKDIR ?= "${GO_IMPORT}" |
| 26 | do_compile[dirs] += "${B}/src/${GO_WORKDIR}" |
Patrick Williams | ac13d5f | 2023-11-24 18:59:46 -0600 | [diff] [blame] | 27 | |
| 28 | export GOMODCACHE = "${B}/.mod" |
| 29 | |
| 30 | do_compile[cleandirs] += "${B}/.mod" |