• Jeremy Schlatter's avatar
    crypto: fix build when CGO_ENABLED=0 (#19121) · b5e5b356
    Jeremy Schlatter authored
    Package crypto works with or without cgo, which is great. However, to make it
    work without cgo required setting the build tag `nocgo`. It's common to disable
    cgo by instead just setting the environment variable `CGO_ENABLED=0`. Setting
    this environment variable does _not_ implicitly set the build tag `nocgo`. So
    projects that try to build the crypto package with `CGO_ENABLED=0` will fail. I
    have done this myself several times. Until today, I had just assumed that this
    meant that this package requires cgo.
    
    But a small build tag change will make this case work. Instead of using `nocgo`
    and `!nocgo`, we can use `!cgo` and `cgo`, respectively. The `cgo` build tag is
    automatically set if cgo is enabled, and unset if it is disabled.
    b5e5b356
signature_nocgo.go 3.81 KB