Bladeren bron

crypto: fix build when CGO_ENABLED=0 (#19121)

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.
Jeremy Schlatter 6 jaren geleden
bovenliggende
commit
b5e5b3567c
2 gewijzigde bestanden met toevoegingen van 2 en 2 verwijderingen
  1. 1 1
      crypto/signature_cgo.go
  2. 1 1
      crypto/signature_nocgo.go

+ 1 - 1
crypto/signature_cgo.go

@@ -14,7 +14,7 @@
 // You should have received a copy of the GNU Lesser General Public License
 // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
 
-// +build !nacl,!js,!nocgo
+// +build !nacl,!js,cgo
 
 package crypto
 

+ 1 - 1
crypto/signature_nocgo.go

@@ -14,7 +14,7 @@
 // You should have received a copy of the GNU Lesser General Public License
 // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
 
-// +build nacl js nocgo
+// +build nacl js !cgo
 
 package crypto