blob: ca3a690d05e2042ca571766aeb5db8334e3c99c0 [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6
7# Handle Go Modules support
8#
Patrick Williams2390b1b2022-11-03 13:47:49 -05009# When using Go Modules, the current working directory MUST be at or below
Patrick Williams92b42cb2022-09-03 06:53:57 -050010# 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.
21GOBUILDFLAGS:append = " -modcacherw"
22
23inherit go
24
25GO_WORKDIR ?= "${GO_IMPORT}"
26do_compile[dirs] += "${B}/src/${GO_WORKDIR}"
Patrick Williamsac13d5f2023-11-24 18:59:46 -060027
28export GOMODCACHE = "${B}/.mod"
29
30do_compile[cleandirs] += "${B}/.mod"