Skip to content

Commit d9a89d2

Browse files
committed
Fix release: set per-target CC/CXX for goreleaser-cross
Each OS/arch combination needs its specific cross-compiler: darwin uses o64-clang/oa64-clang, linux uses gnu-gcc, windows uses mingw32-gcc. Without these, the docker image defaults to the linux compiler which fails on darwin targets.
1 parent d3f9808 commit d9a89d2

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

.goreleaser.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,34 @@ builds:
1212
binary: dci
1313
env:
1414
- CGO_ENABLED=1
15+
- >-
16+
{{- if eq .Os "darwin" }}
17+
{{- if eq .Arch "amd64" }}CC=o64-clang
18+
{{- else }}CC=oa64-clang
19+
{{- end }}
20+
{{- else if eq .Os "linux" }}
21+
{{- if eq .Arch "amd64" }}CC=x86_64-linux-gnu-gcc
22+
{{- else }}CC=aarch64-linux-gnu-gcc
23+
{{- end }}
24+
{{- else if eq .Os "windows" }}
25+
{{- if eq .Arch "amd64" }}CC=x86_64-w64-mingw32-gcc
26+
{{- else }}CC=/llvm-mingw/bin/aarch64-w64-mingw32-gcc
27+
{{- end }}
28+
{{- end }}
29+
- >-
30+
{{- if eq .Os "darwin" }}
31+
{{- if eq .Arch "amd64" }}CXX=o64-clang++
32+
{{- else }}CXX=oa64-clang++
33+
{{- end }}
34+
{{- else if eq .Os "linux" }}
35+
{{- if eq .Arch "amd64" }}CXX=x86_64-linux-gnu-g++
36+
{{- else }}CXX=aarch64-linux-gnu-g++
37+
{{- end }}
38+
{{- else if eq .Os "windows" }}
39+
{{- if eq .Arch "amd64" }}CXX=x86_64-w64-mingw32-g++
40+
{{- else }}CXX=/llvm-mingw/bin/aarch64-w64-mingw32-g++
41+
{{- end }}
42+
{{- end }}
1543
goos:
1644
- darwin
1745
- linux

0 commit comments

Comments
 (0)