diff options
author | Denis Dmitriev <denis.dmitriev@gmail.com> | 2023-02-23 08:00:03 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-23 00:00:03 -0500 |
commit | 85a15a7254f28c81069dbbc51201e5025b5a74bc (patch) | |
tree | 1938fda658371d3e54c642b5c8cae50411738fde /README.md | |
parent | Add go 1.20 to workflow matrix, remove 1.17 (#1136) (diff) | |
download | golite-85a15a7254f28c81069dbbc51201e5025b5a74bc.tar.gz golite-85a15a7254f28c81069dbbc51201e5025b5a74bc.tar.xz |
Add build tags to support both x86 and ARM compilation on macOS (#1069)
* Add build tags to support both x86 and ARM compilation on macOS
* Documentation fix: command line for build under macOS
* Global replace 'macOS X' -> 'macOS'. Fix typo in -tags cmd line param
* `README.md`: fix all `--tags` -> `-tags`
---------
Co-authored-by: Denis Dmitriev <dmitriev@itspartner.net>
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 37 |
1 files changed, 23 insertions, 14 deletions
@@ -40,7 +40,7 @@ This package follows the official [Golang Release Policy](https://golang.org/doc - [Alpine](#alpine) - [Fedora](#fedora) - [Ubuntu](#ubuntu) - - [Mac OSX](#mac-osx) + - [macOS](#mac-osx) - [Windows](#windows) - [Errors](#errors) - [User Authentication](#user-authentication) @@ -145,7 +145,7 @@ Click [here](https://golang.org/pkg/go/build/#hdr-Build_Constraints) for more in If you wish to build this library with additional extensions / features, use the following command: ```bash -go build --tags "<FEATURE>" +go build -tags "<FEATURE>" ``` For available features, see the extension list. @@ -154,7 +154,7 @@ When using multiple build tags, all the different tags should be space delimited Example: ```bash -go build --tags "icu json1 fts5 secure_delete" +go build -tags "icu json1 fts5 secure_delete" ``` ### Feature / Extension List @@ -194,7 +194,7 @@ This package can be compiled for android. Compile with: ```bash -go build --tags "android" +go build -tags "android" ``` For more information see [#201](https://github.com/mattn/go-sqlite3/issues/201) @@ -219,8 +219,8 @@ This library can be cross-compiled. In some cases you are required to the `CC` environment variable with the cross compiler. -## Cross Compiling from MAC OSX -The simplest way to cross compile from OSX is to use [musl-cross](https://github.com/FiloSottile/homebrew-musl-cross). +## Cross Compiling from macOS +The simplest way to cross compile from macOS is to use [xgo](https://github.com/karalabe/xgo). Steps: - Install [musl-cross](https://github.com/FiloSottile/homebrew-musl-cross) (`brew install FiloSottile/musl-cross/musl-cross`). @@ -241,13 +241,13 @@ To compile this package on Linux, you must install the development tools for you To compile under linux use the build tag `linux`. ```bash -go build --tags "linux" +go build -tags "linux" ``` If you wish to link directly to libsqlite3 then you can use the `libsqlite3` build tag. ``` -go build --tags "libsqlite3 linux" +go build -tags "libsqlite3 linux" ``` ### Alpine @@ -270,9 +270,9 @@ sudo yum groupinstall "Development Tools" "Development Libraries" sudo apt-get install build-essential ``` -## Mac OSX +## macOS -OSX should have all the tools present to compile this package. If not, install XCode to add all the developers tools. +macOS should have all the tools present to compile this package. If not, install XCode to add all the developers tools. Required dependency: @@ -280,7 +280,7 @@ Required dependency: brew install sqlite3 ``` -For OSX, there is an additional package to install which is required if you wish to build the `icu` extension. +For macOS, there is an additional package to install which is required if you wish to build the `icu` extension. This additional package can be installed with `homebrew`: @@ -288,16 +288,25 @@ This additional package can be installed with `homebrew`: brew upgrade icu4c ``` -To compile for Mac OSX: +To compile for macOS on x86: ```bash -go build --tags "darwin" +go build -tags "darwin amd64" +``` + +To compile for macOS on ARM chips: + +```bash +go build -tags "darwin arm64" ``` If you wish to link directly to libsqlite3, use the `libsqlite3` build tag: ``` -go build --tags "libsqlite3 darwin" +# x86 +go build -tags "libsqlite3 darwin amd64" +# ARM +go build -tags "libsqlite3 darwin arm64" ``` Additional information: |