Makefile: Make all builds explicitly fully static by default (disable CGO)

This commit is contained in:
Jöran Karl
2024-09-12 18:54:09 +02:00
parent 6e46ae3090
commit 90525a6a1d
2 changed files with 9 additions and 7 deletions

View File

@@ -180,16 +180,17 @@ You can install directly with `go get` (`go get github.com/zyedidia/micro/cmd/mi
recommended because it doesn't build micro with version information (necessary for the plugin manager),
and doesn't disable debug mode.
### Fully static binary
### Fully static or dynamically linked binary
By default, the micro binary will dynamically link with core system libraries (this is generally
recommended for security and portability). However, there is a fully static prebuilt binary that
is provided for amd64 as `linux-static.tar.gz`, and to build a fully static binary from source, run
By default, the micro binary is linked statically to increase the portability of the prebuilt binaries.
This behavior can simply be overriden by providing `CGO_ENABLED=1` to the build target.
```
CGO_ENABLED=0 make build
CGO_ENABLED=1 make build
```
Afterwards the micro binary will dynamically link with the present core system libraries.
### macOS terminal
If you are using macOS, you should consider using [iTerm2](http://iterm2.com/) instead of the default terminal (Terminal.app). The iTerm2 terminal has much better mouse support as well as better handling of key events. For best keybinding behavior, choose `xterm defaults` under `Preferences->Profiles->Keys->Presets...`, and select `Esc+` for `Left Option Key` in the same menu. The newest versions also support true color.