I think the result of the proposal explains some rewriting in .go files, at least.
I believe the conventional wisdom/best practices here are: - Use separate, parallel files to hold platform- (or tag-) specific code, e.g: init_darwin.go, init_linux.go, init_windows.go - Prefer setting environment variables GOOS, GOARCH to passing build tag arguments I think these quick guides are up-to-date: https://www.digitalocean.com/community/tutorials/building-go-applications-for-different-operating-systems-and-architectures https://www.digitalocean.com/community/tutorials/customizing-go-binaries-with-build-tags I hope this helps, I'm not convinced I'm not missing something :) On Friday, November 11, 2022 at 1:27:22 PM UTC-8 sandee...@gmail.com wrote: > probably yes - the implementation of tools for this feature. > > If you see the accepted proposal there is this example: > https://go.googlesource.com/proposal/+/master/design/draft-gobuild.md > // +build 386 windows,amd64 windows > > BTW, I am on go1.19.3. > > On Friday, November 11, 2022 at 3:18:44 PM UTC-6 harr...@spu.edu wrote: > >> Is this relevant? https://github.com/golang/go/issues/41184 >> >> On Friday, November 11, 2022 at 1:16:02 PM UTC-8 se...@liao.dev wrote: >> >>> You'll need to provide more info if you want to report a bug: >>> >>> ``` >>> main » cat main.go >>> // +build production >>> // +build linux >>> >>> package main >>> >>> 21:13:35 ~/tmp/testrepo0017 0:00:00 >>> main » go fmt . >>> main.go >>> >>> 21:13:39 ~/tmp/testrepo0017 0:00:00 >>> main » cat main.go >>> //go:build production && linux >>> // +build production,linux >>> >>> package main >>> ``` >>> - sean >>> >>> >>> On Fri, Nov 11, 2022 at 9:13 PM Sandeep Kalra <sandee...@gmail.com> >>> wrote: >>> >>>> and similar issue with other style of adding tags as well >>>> >>>> i.e. >>>> // +build tag1,tag2 >>>> // +build tag1 tag2 >>>> etc >>>> >>>> On Friday, November 11, 2022 at 3:07:40 PM UTC-6 Sandeep Kalra wrote: >>>> >>>>> Original code: >>>>> >>>>> $ cat production.go >>>>> >>>>> //go:build production >>>>> // +build production >>>>> // +build linux <<<<<< Notice This Line as my production code is only >>>>> available on Linux >>>>> >>>>> package main >>>>> >>>>> const ( >>>>> isProductionCode = true >>>>> isDebugCode = false >>>>> ) >>>>> >>>>> $ go fmt production.go >>>>> production.go >>>>> $ cat production.go >>>>> //go:build production >>>>> // +build production >>>>> >>>>> package main >>>>> >>>>> const ( >>>>> isProductionCode = true >>>>> isDebugCode = false >>>>> ) >>>>> Thanks, >>>>> Sandeep Kalra >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "golang-nuts" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to golang-nuts...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/golang-nuts/9a4b4e5d-4c3f-469d-8cc5-6a268152cd5an%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/golang-nuts/9a4b4e5d-4c3f-469d-8cc5-6a268152cd5an%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/d9dde962-34f1-413b-bd5d-43798bd5516dn%40googlegroups.com.