contrib: Add bootstrap-go-toolchain.sh#380
Conversation
6af7001 to
b4ecc24
Compare
|
Tried it out and it worked, thanks! It's nice to have cgo working again. I like that it caches the downloads. If it didn't I was going to suggest it. Except a small hiccup: I had to unset |
b4ecc24 to
88b8d7f
Compare
Ever since w64devkit began forcing bigobj by default, it has been incompatible with cgo. I patched go to support bigobj, but unfortunately upstream the patch ran in to bureaucracy/difficulties and I ran out of patience to get it through. So that means it's not really an option to use upstream go binaries, it must build from source. Bootstrapping go is not difficult, but it has grown more tedious as more required stages have been added to the bootstrap chain. So, to spare myself some tedium, I have created bootstrap-go-toolchain.sh. It builds the latest version of go, from source, using only w64devkit's gcc compiler. It also adds my bigobj patches to the toolchain, so cgo works properly.
88b8d7f to
8e557fe
Compare
Done. |
What mention did you have in mind? I thought it would be something about w64dk requiring this bootstrap, but on revisit I remember now that this article predates w64dk. |
|
I can extend it to support Linux too. Then mention that this script can build a toolchain for you. |
|
It doesn't really mention that now go has added extra stages to the bootstrap as well, so you have to go through several versions. |
Ever since w64devkit began forcing bigobj by default, it has been incompatible with cgo. I patched go to support bigobj, but unfortunately upstream the patch ran in to bureaucracy/difficulties and I ran out of patience to get it through. So that means it's not really an option to use upstream go binaries, it must build from source. Bootstrapping go is not difficult, but it has grown more tedious as more required stages have been added to the bootstrap chain.
So, to spare myself some tedium, I have created
bootstrap-go-toolchain.sh. It builds the latest version of go, from source, using only w64devkit's gcc compiler. It also adds my bigobj patches to the toolchain, so cgo works properly.
It might deserve a mention on:
https://nullprogram.com/blog/2020/01/21/