Files
Jeffrey Morgan f3b476c592 build: add -O3 optimization to CGO flags (#13877)
CGO_CFLAGS and CGO_CXXFLAGS were being set without optimization flags,
which overrides Go's default -O2 and results in unoptimized C++ code.

This caused significant performance degradation in release builds
compared to local `go build` which uses the default optimization.

- build_darwin.sh: add -O3 to CGO_CFLAGS and CGO_CXXFLAGS exports
- Dockerfile: preserve CGO_CFLAGS/CGO_CXXFLAGS from build args instead
  of overwriting them
- app/README.md: update documentation to include -O3
2026-01-24 10:55:38 -08:00
..

Ollama for macOS and Windows

Download

Development

Desktop App

go generate ./... &&
go run ./cmd/app

UI Development

Setup

Install required tools:

go install github.com/tkrajina/typescriptify-golang-structs/tscriptify@latest

Develop UI (Development Mode)

  1. Start the React development server (with hot-reload):
cd ui/app
npm install
npm run dev
  1. In a separate terminal, run the Ollama app with the -dev flag:
go generate ./... &&
OLLAMA_DEBUG=1 go run ./cmd/app -dev

The -dev flag enables:

Build

Windows

Dependencies - either build a local copy of ollama, or use a github release

# Local dependencies
.\scripts\deps_local.ps1

# Release dependencies
.\scripts\deps_release.ps1 0.6.8

Build

.\scripts\build_windows.ps1

macOS

CI builds with Xcode 14.1 for OS compatibility prior to v13. If you want to manually build v11+ support, you can download the older Xcode here, extract, then mv ./Xcode.app /Applications/Xcode_14.1.0.app then activate with:

export CGO_CFLAGS="-O3 -mmacosx-version-min=12.0"
export CGO_CXXFLAGS="-O3 -mmacosx-version-min=12.0"
export CGO_LDFLAGS="-mmacosx-version-min=12.0"
export SDKROOT=/Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
export DEVELOPER_DIR=/Applications/Xcode_14.1.0.app/Contents/Developer

Dependencies - either build a local copy of Ollama, or use a GitHub release:

# Local dependencies
./scripts/deps_local.sh

# Release dependencies
./scripts/deps_release.sh 0.6.8

Build

./scripts/build_darwin.sh